From e1a3df59548b9100af19fcb2949b7991f840ce8a Mon Sep 17 00:00:00 2001 From: Josh Hansen Date: Sun, 1 Oct 2023 20:38:14 -0700 Subject: [PATCH] Revert "Switch the hidden prefix char from : to ." Apparently there was something wrong, `status` was giving erroneous output; or perhaps `restore` had ceased working. This reverts commit 139daa5e7fb36b13929253c8f1eba47fdf10448d. --- ROADMAP.md | 2 +- snapshot-test.sh | 4 +- snapshot.output | 108 +++++++++++++++++++++++------------------------ src/lib.rs | 2 +- 4 files changed, 58 insertions(+), 58 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index f718b84..e887551 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -13,7 +13,7 @@ -[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 --[x] Change hidden prefix from : to . +-[ ] Change hidden prefix from : to . -[x] Cover absolute paths in example.sh -[x] Version user.ghee namespace -[x] Rename most-recent-snapshot -> HEAD diff --git a/snapshot-test.sh b/snapshot-test.sh index ef2b6a5..8cea44c 100755 --- a/snapshot-test.sh +++ b/snapshot-test.sh @@ -66,14 +66,14 @@ main() { # Equivalently: ghee del -v ./people Lilly # Remove Wulfrum from the :state:id index and all related indices 2> /dev/null - $GHEE del -v $1/people/.state.id CA 0 + $GHEE del -v $1/people/:state:id CA 0 # Equivalently: ghee del -v ./people -w state=CA -w id=0 # Equivalently: ghee del -v ./people Wulfrum # Get the name of everybody from California still remaining, 2> /dev/null # taking advantage of the state index 2> /dev/null # This will avoid traversing irrelevant portions of the index 2> /dev/null - $GHEE get -a -w state=CA -f name $1/people/.state.id + $GHEE get -a -w state=CA -f name $1/people/:state:id # Create a table directly 2> /dev/null $GHEE create -v $1/direct -k blah diff --git a/snapshot.output b/snapshot.output index 751b60a..04b0b06 100644 --- a/snapshot.output +++ b/snapshot.output @@ -36,25 +36,25 @@ + /home/josh/Projects/Ghee/target/debug/ghee init -k name ./people + Index the dataset by ID + /home/josh/Projects/Ghee/target/debug/ghee idx -v -k id ./people ./people:id -./people/Sofia -> ./people:id/1 ./people/Wulfrum -> ./people:id/0 +./people/Sofia -> ./people:id/1 ./people/Sandeep -> ./people:id/2 + /home/josh/Projects/Ghee/target/debug/ghee idx -v -k state -k id ./people -./people/Sofia -> ./people/.state.id/WA/1 -./people/Wulfrum -> ./people/.state.id/CA/0 -./people/Sandeep -> ./people/.state.id/CA/2 +./people/Wulfrum -> ./people/:state:id/CA/0 +./people/Sofia -> ./people/:state:id/WA/1 +./people/Sandeep -> ./people/:state:id/CA/2 + /home/josh/Projects/Ghee/target/debug/ghee ins -v ./people Initialized ./people/Janella Linked ./people:id/3 -> ./people/Janella -Linked ./people/.state.id/FL/3 -> ./people/Janella +Linked ./people/:state:id/FL/3 -> ./people/Janella Initialized ./people/Lilly Linked ./people:id/4 -> ./people/Lilly -Linked ./people/.state.id/NM/4 -> ./people/Lilly +Linked ./people/:state:id/NM/4 -> ./people/Lilly Initialized ./people/Darrel Linked ./people:id/5 -> ./people/Darrel -Linked ./people/.state.id/MI/5 -> ./people/Darrel +Linked ./people/:state:id/MI/5 -> ./people/Darrel + /home/josh/Projects/Ghee/target/debug/ghee get -a ./people - user.ghee.tableinfo {"key":"name","indices_abs":{"id":"/home/josh/Projects/Ghee/snapshot/ext4/people:id","name":"/home/josh/Projects/Ghee/snapshot/ext4/people","state,id":"/home/josh/Projects/Ghee/snapshot/ext4/people/.state.id"}} + user.ghee.tableinfo {"key":"name","indices_abs":{"id":"/home/josh/Projects/Ghee/snapshot/ext4/people:id","name":"/home/josh/Projects/Ghee/snapshot/ext4/people","state,id":"/home/josh/Projects/Ghee/snapshot/ext4/people/:state:id"}} ./people/Darrel user.id 5 ./people/Darrel user.name Darrel ./people/Darrel user.state MI @@ -79,17 +79,17 @@ Linked ./people/.state.id/MI/5 -> ./people/Darrel + /home/josh/Projects/Ghee/target/debug/ghee del -v ./people -w name=Sofia Removed ./people:id/1 Removed ./people/Sofia -Removed ./people/.state.id/WA/1 +Removed ./people/:state:id/WA/1 + /home/josh/Projects/Ghee/target/debug/ghee del -v ./people:id 3 Removed ./people:id/3 Removed ./people/Janella -Removed ./people/.state.id/FL/3 -+ /home/josh/Projects/Ghee/target/debug/ghee del -v ./people/.state.id CA 0 +Removed ./people/:state:id/FL/3 ++ /home/josh/Projects/Ghee/target/debug/ghee del -v ./people/:state:id CA 0 Removed ./people:id/0 Removed ./people/Wulfrum -Removed ./people/.state.id/CA/0 -+ /home/josh/Projects/Ghee/target/debug/ghee get -a -w state=CA -f name ./people/.state.id -./people/.state.id/CA/2 user.name Sandeep +Removed ./people/:state:id/CA/0 ++ /home/josh/Projects/Ghee/target/debug/ghee get -a -w state=CA -f name ./people/:state:id +./people/:state:id/CA/2 user.name Sandeep + /home/josh/Projects/Ghee/target/debug/ghee create -v ./direct -k blah Initialized table ./direct with key: user.blah + /home/josh/Projects/Ghee/target/debug/ghee create -v ./people2 -k id @@ -141,21 +141,21 @@ No table found ./people/Sofia -> ./people:id/1 ./people/Wulfrum -> ./people:id/0 + /home/josh/Projects/Ghee/target/debug/ghee idx -v -k state -k id ./people -./people/Sandeep -> ./people/.state.id/CA/2 -./people/Sofia -> ./people/.state.id/WA/1 -./people/Wulfrum -> ./people/.state.id/CA/0 +./people/Sandeep -> ./people/:state:id/CA/2 +./people/Sofia -> ./people/:state:id/WA/1 +./people/Wulfrum -> ./people/:state:id/CA/0 + /home/josh/Projects/Ghee/target/debug/ghee ins -v ./people Initialized ./people/Janella Linked ./people:id/3 -> ./people/Janella -Linked ./people/.state.id/FL/3 -> ./people/Janella +Linked ./people/:state:id/FL/3 -> ./people/Janella Initialized ./people/Lilly Linked ./people:id/4 -> ./people/Lilly -Linked ./people/.state.id/NM/4 -> ./people/Lilly +Linked ./people/:state:id/NM/4 -> ./people/Lilly Initialized ./people/Darrel Linked ./people:id/5 -> ./people/Darrel -Linked ./people/.state.id/MI/5 -> ./people/Darrel +Linked ./people/:state:id/MI/5 -> ./people/Darrel + /home/josh/Projects/Ghee/target/debug/ghee get -a ./people - user.ghee.tableinfo {"key":"name","indices_abs":{"id":"/home/josh/Projects/Ghee/snapshot/btrfs/people:id","name":"/home/josh/Projects/Ghee/snapshot/btrfs/people","state,id":"/home/josh/Projects/Ghee/snapshot/btrfs/people/.state.id"}} + user.ghee.tableinfo {"key":"name","indices_abs":{"id":"/home/josh/Projects/Ghee/snapshot/btrfs/people:id","name":"/home/josh/Projects/Ghee/snapshot/btrfs/people","state,id":"/home/josh/Projects/Ghee/snapshot/btrfs/people/:state:id"}} ./people/Darrel user.id 5 ./people/Darrel user.name Darrel ./people/Darrel user.state MI @@ -180,17 +180,17 @@ Linked ./people/.state.id/MI/5 -> ./people/Darrel + /home/josh/Projects/Ghee/target/debug/ghee del -v ./people -w name=Sofia Removed ./people:id/1 Removed ./people/Sofia -Removed ./people/.state.id/WA/1 +Removed ./people/:state:id/WA/1 + /home/josh/Projects/Ghee/target/debug/ghee del -v ./people:id 3 Removed ./people:id/3 Removed ./people/Janella -Removed ./people/.state.id/FL/3 -+ /home/josh/Projects/Ghee/target/debug/ghee del -v ./people/.state.id CA 0 +Removed ./people/:state:id/FL/3 ++ /home/josh/Projects/Ghee/target/debug/ghee del -v ./people/:state:id CA 0 Removed ./people:id/0 Removed ./people/Wulfrum -Removed ./people/.state.id/CA/0 -+ /home/josh/Projects/Ghee/target/debug/ghee get -a -w state=CA -f name ./people/.state.id -./people/.state.id/CA/2 user.name Sandeep +Removed ./people/:state:id/CA/0 ++ /home/josh/Projects/Ghee/target/debug/ghee get -a -w state=CA -f name ./people/:state:id +./people/:state:id/CA/2 user.name Sandeep + /home/josh/Projects/Ghee/target/debug/ghee create -v ./direct -k blah Initialized table ./direct with key: user.blah + /home/josh/Projects/Ghee/target/debug/ghee create -v ./people2 -k id @@ -312,25 +312,25 @@ commit 20c655bb-33da-4a44-9f75-91eb98af8e1a + /home/josh/Projects/Ghee/target/debug/ghee init -k name /home/josh/Projects/Ghee/snapshot/ext4/people + Index the dataset by ID + /home/josh/Projects/Ghee/target/debug/ghee idx -v -k id /home/josh/Projects/Ghee/snapshot/ext4/people /home/josh/Projects/Ghee/snapshot/ext4/people:id -/home/josh/Projects/Ghee/snapshot/ext4/people/Sofia -> /home/josh/Projects/Ghee/snapshot/ext4/people:id/1 /home/josh/Projects/Ghee/snapshot/ext4/people/Sandeep -> /home/josh/Projects/Ghee/snapshot/ext4/people:id/2 /home/josh/Projects/Ghee/snapshot/ext4/people/Wulfrum -> /home/josh/Projects/Ghee/snapshot/ext4/people:id/0 +/home/josh/Projects/Ghee/snapshot/ext4/people/Sofia -> /home/josh/Projects/Ghee/snapshot/ext4/people:id/1 + /home/josh/Projects/Ghee/target/debug/ghee idx -v -k state -k id /home/josh/Projects/Ghee/snapshot/ext4/people -/home/josh/Projects/Ghee/snapshot/ext4/people/Sofia -> /home/josh/Projects/Ghee/snapshot/ext4/people/.state.id/WA/1 -/home/josh/Projects/Ghee/snapshot/ext4/people/Sandeep -> /home/josh/Projects/Ghee/snapshot/ext4/people/.state.id/CA/2 -/home/josh/Projects/Ghee/snapshot/ext4/people/Wulfrum -> /home/josh/Projects/Ghee/snapshot/ext4/people/.state.id/CA/0 +/home/josh/Projects/Ghee/snapshot/ext4/people/Sandeep -> /home/josh/Projects/Ghee/snapshot/ext4/people/:state:id/CA/2 +/home/josh/Projects/Ghee/snapshot/ext4/people/Wulfrum -> /home/josh/Projects/Ghee/snapshot/ext4/people/:state:id/CA/0 +/home/josh/Projects/Ghee/snapshot/ext4/people/Sofia -> /home/josh/Projects/Ghee/snapshot/ext4/people/:state:id/WA/1 + /home/josh/Projects/Ghee/target/debug/ghee ins -v /home/josh/Projects/Ghee/snapshot/ext4/people Initialized ./people/Janella Linked ./people:id/3 -> ./people/Janella -Linked ./people/.state.id/FL/3 -> ./people/Janella +Linked ./people/:state:id/FL/3 -> ./people/Janella Initialized ./people/Lilly Linked ./people:id/4 -> ./people/Lilly -Linked ./people/.state.id/NM/4 -> ./people/Lilly +Linked ./people/:state:id/NM/4 -> ./people/Lilly Initialized ./people/Darrel Linked ./people:id/5 -> ./people/Darrel -Linked ./people/.state.id/MI/5 -> ./people/Darrel +Linked ./people/:state:id/MI/5 -> ./people/Darrel + /home/josh/Projects/Ghee/target/debug/ghee get -a /home/josh/Projects/Ghee/snapshot/ext4/people - user.ghee.tableinfo {"key":"name","indices_abs":{"id":"/home/josh/Projects/Ghee/snapshot/ext4/people:id","name":"/home/josh/Projects/Ghee/snapshot/ext4/people","state,id":"/home/josh/Projects/Ghee/snapshot/ext4/people/.state.id"}} + user.ghee.tableinfo {"key":"name","indices_abs":{"id":"/home/josh/Projects/Ghee/snapshot/ext4/people:id","name":"/home/josh/Projects/Ghee/snapshot/ext4/people","state,id":"/home/josh/Projects/Ghee/snapshot/ext4/people/:state:id"}} ./people/Darrel user.id 5 ./people/Darrel user.name Darrel ./people/Darrel user.state MI @@ -355,17 +355,17 @@ Linked ./people/.state.id/MI/5 -> ./people/Darrel + /home/josh/Projects/Ghee/target/debug/ghee del -v /home/josh/Projects/Ghee/snapshot/ext4/people -w name=Sofia Removed ./people:id/1 Removed ./people/Sofia -Removed ./people/.state.id/WA/1 +Removed ./people/:state:id/WA/1 + /home/josh/Projects/Ghee/target/debug/ghee del -v /home/josh/Projects/Ghee/snapshot/ext4/people:id 3 Removed ./people:id/3 Removed ./people/Janella -Removed ./people/.state.id/FL/3 -+ /home/josh/Projects/Ghee/target/debug/ghee del -v /home/josh/Projects/Ghee/snapshot/ext4/people/.state.id CA 0 +Removed ./people/:state:id/FL/3 ++ /home/josh/Projects/Ghee/target/debug/ghee del -v /home/josh/Projects/Ghee/snapshot/ext4/people/:state:id CA 0 Removed ./people:id/0 Removed ./people/Wulfrum -Removed ./people/.state.id/CA/0 -+ /home/josh/Projects/Ghee/target/debug/ghee get -a -w state=CA -f name /home/josh/Projects/Ghee/snapshot/ext4/people/.state.id -./people/.state.id/CA/2 user.name Sandeep +Removed ./people/:state:id/CA/0 ++ /home/josh/Projects/Ghee/target/debug/ghee get -a -w state=CA -f name /home/josh/Projects/Ghee/snapshot/ext4/people/:state:id +./people/:state:id/CA/2 user.name Sandeep + /home/josh/Projects/Ghee/target/debug/ghee create -v /home/josh/Projects/Ghee/snapshot/ext4/direct -k blah Initialized table /home/josh/Projects/Ghee/snapshot/ext4/direct with key: user.blah + /home/josh/Projects/Ghee/target/debug/ghee create -v /home/josh/Projects/Ghee/snapshot/ext4/people2 -k id @@ -417,21 +417,21 @@ No table found /home/josh/Projects/Ghee/snapshot/btrfs/people/Sofia -> /home/josh/Projects/Ghee/snapshot/btrfs/people:id/1 /home/josh/Projects/Ghee/snapshot/btrfs/people/Wulfrum -> /home/josh/Projects/Ghee/snapshot/btrfs/people:id/0 + /home/josh/Projects/Ghee/target/debug/ghee idx -v -k state -k id /home/josh/Projects/Ghee/snapshot/btrfs/people -/home/josh/Projects/Ghee/snapshot/btrfs/people/Sandeep -> /home/josh/Projects/Ghee/snapshot/btrfs/people/.state.id/CA/2 -/home/josh/Projects/Ghee/snapshot/btrfs/people/Sofia -> /home/josh/Projects/Ghee/snapshot/btrfs/people/.state.id/WA/1 -/home/josh/Projects/Ghee/snapshot/btrfs/people/Wulfrum -> /home/josh/Projects/Ghee/snapshot/btrfs/people/.state.id/CA/0 +/home/josh/Projects/Ghee/snapshot/btrfs/people/Sandeep -> /home/josh/Projects/Ghee/snapshot/btrfs/people/:state:id/CA/2 +/home/josh/Projects/Ghee/snapshot/btrfs/people/Sofia -> /home/josh/Projects/Ghee/snapshot/btrfs/people/:state:id/WA/1 +/home/josh/Projects/Ghee/snapshot/btrfs/people/Wulfrum -> /home/josh/Projects/Ghee/snapshot/btrfs/people/:state:id/CA/0 + /home/josh/Projects/Ghee/target/debug/ghee ins -v /home/josh/Projects/Ghee/snapshot/btrfs/people Initialized ./people/Janella Linked ./people:id/3 -> ./people/Janella -Linked ./people/.state.id/FL/3 -> ./people/Janella +Linked ./people/:state:id/FL/3 -> ./people/Janella Initialized ./people/Lilly Linked ./people:id/4 -> ./people/Lilly -Linked ./people/.state.id/NM/4 -> ./people/Lilly +Linked ./people/:state:id/NM/4 -> ./people/Lilly Initialized ./people/Darrel Linked ./people:id/5 -> ./people/Darrel -Linked ./people/.state.id/MI/5 -> ./people/Darrel +Linked ./people/:state:id/MI/5 -> ./people/Darrel + /home/josh/Projects/Ghee/target/debug/ghee get -a /home/josh/Projects/Ghee/snapshot/btrfs/people - user.ghee.tableinfo {"key":"name","indices_abs":{"id":"/home/josh/Projects/Ghee/snapshot/btrfs/people:id","name":"/home/josh/Projects/Ghee/snapshot/btrfs/people","state,id":"/home/josh/Projects/Ghee/snapshot/btrfs/people/.state.id"}} + user.ghee.tableinfo {"key":"name","indices_abs":{"id":"/home/josh/Projects/Ghee/snapshot/btrfs/people:id","name":"/home/josh/Projects/Ghee/snapshot/btrfs/people","state,id":"/home/josh/Projects/Ghee/snapshot/btrfs/people/:state:id"}} ./people/Darrel user.id 5 ./people/Darrel user.name Darrel ./people/Darrel user.state MI @@ -456,17 +456,17 @@ Linked ./people/.state.id/MI/5 -> ./people/Darrel + /home/josh/Projects/Ghee/target/debug/ghee del -v /home/josh/Projects/Ghee/snapshot/btrfs/people -w name=Sofia Removed ./people:id/1 Removed ./people/Sofia -Removed ./people/.state.id/WA/1 +Removed ./people/:state:id/WA/1 + /home/josh/Projects/Ghee/target/debug/ghee del -v /home/josh/Projects/Ghee/snapshot/btrfs/people:id 3 Removed ./people:id/3 Removed ./people/Janella -Removed ./people/.state.id/FL/3 -+ /home/josh/Projects/Ghee/target/debug/ghee del -v /home/josh/Projects/Ghee/snapshot/btrfs/people/.state.id CA 0 +Removed ./people/:state:id/FL/3 ++ /home/josh/Projects/Ghee/target/debug/ghee del -v /home/josh/Projects/Ghee/snapshot/btrfs/people/:state:id CA 0 Removed ./people:id/0 Removed ./people/Wulfrum -Removed ./people/.state.id/CA/0 -+ /home/josh/Projects/Ghee/target/debug/ghee get -a -w state=CA -f name /home/josh/Projects/Ghee/snapshot/btrfs/people/.state.id -./people/.state.id/CA/2 user.name Sandeep +Removed ./people/:state:id/CA/0 ++ /home/josh/Projects/Ghee/target/debug/ghee get -a -w state=CA -f name /home/josh/Projects/Ghee/snapshot/btrfs/people/:state:id +./people/:state:id/CA/2 user.name Sandeep + /home/josh/Projects/Ghee/target/debug/ghee create -v /home/josh/Projects/Ghee/snapshot/btrfs/direct -k blah Initialized table /home/josh/Projects/Ghee/snapshot/btrfs/direct with key: user.blah + /home/josh/Projects/Ghee/target/debug/ghee create -v /home/josh/Projects/Ghee/snapshot/btrfs/people2 -k id diff --git a/src/lib.rs b/src/lib.rs index fb51655..e4456d1 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -84,7 +84,7 @@ lazy_static! { pub static ref DEFAULT_KEY: Key = Key::from_string("key0,key1,key2,key3,key4,key5,key6,key7,key8,key9"); } -const HIDDEN_PREFIX: &'static str = "."; +const HIDDEN_PREFIX: &'static str = ":"; /// Whether a path should be skipped when iterating over records pub fn is_hidden(entry: &DirEntry) -> bool {