#tags #idea #file #system #attributes #folder

tagga

一种无层次文件系统接口的新想法

1 个不稳定版本

0.0.0 2020年4月30日

#42 in #idea

AGPL-3.0-only

5KB
58

Tagga

最初,文件系统没有任何层次。所有文件都保存在一个简单的列表中。有些人发现这种限制,于是创建了文件夹树。其他人则认为文件是错误的抽象,而使用数据库。

Tagga 是一个折中的方案。不是将文件分类到文件夹树中,而是用多个属性进行标记。对于检索,它们可以被过滤,就像 SELECT ... WHERE 语句一样。

这个想法是向后兼容的,因为路径可以只是一个标签。

目前,它只是一个原型,用于探索这个想法的可行性。它使用数据库来存储标签,并使用文件夹来存储文件。

将来,有一个内核实现会很好。那时,它需要在文件系统中存储标签(困难)而文件将简单地成为inode(简单)。

贡献

请将钩子符号链接到您的本地 .git/hooks/ 目录,以便在提交之前运行一些自动检查。

ln -s ../../hooks/pre-commit .git/hooks/

请安装 rustfmt 和 cargo-sync-readme 以运行这些检查。

rustup component add rustfmt
cargo install cargo-sync-readme

请在更改顶层文档时执行 cargo-sync-readme。请更改代码时运行 cargo fmt。如果可能,请配置您的编辑器为您自动执行此操作。

无运行时依赖