-
Notifications
You must be signed in to change notification settings - Fork 1
wbsun/tagfilesystem
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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