1 unstable release
0.0.0 | Apr 30, 2020 |
---|
#36 in #idea
5KB
58 lines
Tagga
Originially file systems did not have any hierarchy. All Files were just kept in a plain list. Some people found that limiting and created trees of folders. Other people considered files to be the wrong abstraction and used databases instead.
Tagga is a bit of a middle ground. Instead of sorting files into a tree of folders, they are tagged with a number of attributes. For retrieval they can be filtered, much like a SELECT ... WHERE statement does.
This idea is backwards-compatible, as the path can just be an tag.
Right now its just a prototype to explore the ideas viability. It uses a database for storing the tags, and a folder to store the files.
In the future it would be nice to have an in-kernel implementation. It would then need to store the tags in the file system (hard) and the files would just become inodes (easy)
Contributing
Please symlink the hooks to your local .git/hooks/ directory to run some automatic checks before committing.
ln -s ../../hooks/pre-commit .git/hooks/
Please install rustfmt and cargo-sync-readme so these checks can be run.
rustup component add rustfmt
cargo install cargo-sync-readme
Please execute cargo-sync-readme
when you change the top-level-documentation.
Please run cargo fmt
whenever you change code. If possible configure your editor to do so for you.