1.7 KiB
Ghee Roadmap
0.6
-[x] : init
create
: create as a Btrfs subvolume when possible
-[x] ghee commit ./people -m "message!"
: commit the ./people
table in its current form with message "message!"
-[x] ghee log ./people
: show commit messages for all commits in the ./people
table.
-[x] commit
: inherit snapshot dir ownership from parent
-[x] commit
: unit test; implemented, but disabled as it requires superuser
-[x] ghee status ./people
: show how the ./people table has changed since last commit; using CoW snapshots
-[ ] ghee reset ./people gf037d2c98
: replace the current contents of the ./people
table to its state in commit gf037d2c98
-[ ] ghee restore ./people
: replace all changed files in ./people
with their versions in the most recent commit
-[ ] init
: allow comma-separated compound keys
-[ ] Existence predicates, e.g. -w name
matches any record for which name
is set
-[ ] Virtual attribute id
and attributes id0
etc.
-[ ] set
: don't require -s/--set flag; take attr=value pairs directly
-[ ] get
: make output tabular as much as possible (get xattrs from all indices, put rest in 'other' column)
-[ ] ls
: show default primary keys when not explicitly specified
-[ ] Issue warnings when xattrs inferred from path don't match explicit xattrs
-[ ] Ensure all commands accept relative paths
-[ ] Maybe store table index paths as relative paths? (Then we can operate on snapshots directly.)
-[ ] Change hidden prefix from : to .
-[ ] Cover absolute paths in example.sh
Future
- Enforce f64 vs String types, don't let them be comparable
- Integrate with Btrfs / Bcachefs / ZFS snapshots?
- Benchmarks
- Optimize more queries
- Multi-index query optimization
- Make sub-directories tables as well, on their portion of the key space?