Skip to content

Automatically exported from code.google.com/p/tagfilesystem

Notifications You must be signed in to change notification settings

wbsun/tagfilesystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 

Repository files navigation

			Tag File System
			
Copyright: never think about that.

Bugfix:
	When creating new file, '/' will be a tag in file.
	TagDB.add_file_tags can not deal with [] tags.
	
	Readdir support sub-tags. So that 'ls' can list directories.

Install:
	This filesystem requires the followings:
		Python 2.6
		FUSE-2 library
		Python-fuse library
		Python xattr package if you want to use lstags.py command
		Better in a Linux box
	Python version < 2.6 is not supported.
	Python 3000 is not tested yet. If you insist, try convert the 2.6 code 
	to 3.0.
	
To Mount:

	Firstly some issues:
	Tagfs needs a back-store directory to save its meta data and the actual
	files. Operations under the mounting point directory are actually 
	translated into tagfs actions and performed in the files under back-store
	directory.
	
	It is better that the back-store directory is empty and if some errors 
	occur, remove the .tagfs_db.meta file in the back-store.
	
	For most file operations, tagfs just mirror the underlying filesystem
	APIs. The chief difference is the path-lookup which is based on tag query
	in tagfs. Each directory in a path is considered to be a tag, the order
	is irrelevant. So 'utah/picture/by-me/' refers to files with tags: picture,
	utah and by-me.
	
	Now the steps:	
	Download the sources from GoogleCode trunk.
	In the up-most dir which contains cmd and tagfs sub-dirs, 
	run: ./tagfs/TagFS.py -o root=<the back store directory> <mount point>
	
	The tagfs will use <the back store directory> to store the meta data and 
	files. You can do things within <mount point> to have fun.
	If you want to monitor the status, use -d option when running TagFs.py
	to enable debug output.
	The log is in /tmp/tagfs.log 
	
Command:
	cmd/lstags.py:
		lstags.py <target>
		if <target> is a file: list all tags of that file, in a path format
		if <target> is a dir(or we say 'tags' in tagfs): list the union of all 
			of all tags that are attached by files under <target>, but the 
			tags in <target> path are not listed. So it looks like 'sub-tags' 
			under <target>, however, in fact there is not hierarchy relationship 
			between tags.
		
		For convenience, you may want to add the dir containing lstags.py to PATH.

Contact:
	Weibin Sun  wbsun@cs.utah.edu
	

About

Automatically exported from code.google.com/p/tagfilesystem

Resources

Stars

Watchers

Forks

Packages

No packages published