Apparently there was something wrong, `status` was giving erroneous output; or perhaps `restore` had ceased working.
This reverts commit 139daa5e7f
.
2.4 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
-[x] ghee restore ./people
: replace all changed files in ./people
with their versions in the most recent commit
-[x] Test get
on non-table? Whatever that bug is...
-[x] Ensure all commands accept relative paths
-[-] Maybe store table index paths as relative paths? (Then we can operate on snapshots directly.)
Rejected in favor of storing absolute paths, which we then relativize
-[ ] Change hidden prefix from : to .
-[x] Cover absolute paths in example.sh
-[x] Version user.ghee namespace
-[x] Rename most-recent-snapshot -> HEAD
-[ ] Update README.md for 0.6
0.7
-[ ] ghee branch
: branch management
-[ ] ghee switch
: HEAD management
-[ ] ghee diff
: see changes in detail, text files and binary
-[ ] Existence predicates, e.g. -w name
matches any record for which name
is set
-[ ] libghee (C library)
-[ ] Benchmarks
Future
-[ ] Separate "porcelain" from "plumbing" and test plumbing more thoroughly
-[ ] Unit test on ext4 and btrfs loop device filesystems?
-[ ] Test all applicable commands with empty invocation (no path provided, defaulting to current)
-[ ] init
: allow comma-separated compound keys
-[ ] 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
- Enforce f64 vs String types, don't let them be comparable
- Generalize Btrfs functionality to other CoW filesystems, e.g. ZFS, Bcachefs, XFS
- Optimize more queries
- Multi-index query optimization
- Make sub-directories tables as well, on their portion of the key space?