Skip to content

Repository files navigation

BeholdFS is a tagging file system.

EXAMPLE USAGE:

Mount:
	$ ./beholdfs <rootdir> <mountpoint>

Create a file with a set of tags:
	$ touch %tag1%tag2%tag3/file1
	or
	$ touch %tag1/%tag2/%tag3/file2
	or even
	$ touch %/tag1/%/tag2/%/tag3/file3

Add tags to a file:
	$ mv file1 %newtag
	or
	$ mv file2 %newtag1%newtag2
	etc.

Remove tags from a file:
	$ mv file1 %-notwantedtag
	or
	$ mv file2 %-tag1%-tag2

Add and remove tags at the same time:
	$ mv file3 %addtag%-removetag

Add/remove tags, rename and move to a different directory:
	$ mv file4 dir/%moved%-here/file5

List files with a specific tag(s):
	$ ls %tag1%tag2
	or
	$ ls %tag1/%tag2
	etc.

List files without a specific tag(s):
	$ ls %-tag1%-tag2
	or
	$ ls %-tag1/%-tag2
	etc.

Directories are included in the %tag listing if at least one file under the directory has the %tag.
Directories are excluded from the %-tag listing if all of the files under the directory have the %tag.

This is still work in progress. Do not expect much.


KNOWN PROBLEMS:
- metadata (database file) is never deleted, so 'empty' directories cannot be removed

TODO:
- introduce explicit tags; files marked with such explicit tag won't show unless the tag is specified explicitly
- introduce hidden tags; hidden tags are not visible in tag listing

About

Tagging file system

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages