From 8fd4a921e50acb3b576ed508ff249372cb22bd20 Mon Sep 17 00:00:00 2001 From: Josh Hansen Date: Mon, 2 Oct 2023 14:56:48 -0700 Subject: [PATCH] Update history, readme, and package description --- Cargo.toml | 2 +- HISTORY.md | 19 +++++++++++++------ README.md | 8 ++++---- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ccb88aa..6962905 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ghee" -description = "A command line tool for working with Linux extended attributes (xattrs)" +description = "That thin layer of data change management over the filesystem" version = "0.6.1" edition = "2021" default-run = "ghee" diff --git a/HISTORY.md b/HISTORY.md index 6bdcd2a..93bcfbe 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,9 +1,13 @@ # Ghee History -## 0.1.0 +Ghee's development began as an adjunct to the the [Audiotater](https://git.disroot.org/joshhansen/audiotater) audio annotation tool, +but soon developed a life of its own. + +## 0.1.0 - 2 Aug 2023 (as "Hatter") + Initial release including commands to manipulate individual records: `cp`, `mv`, `rm`, `get`, `set`. -### 0.2.0 +### 0.2.0 (as "Mattress") First command that operates on records as a group ("table"): `idx`. @@ -11,17 +15,17 @@ Also generates shell completions for Bash, Fish, PowerShell, Elvish, and anythin Rename from Hatter to Mattress. -### 0.2.1 +### 0.2.1 (as "Mattress") Implement setting of user.mattress.keyname -### 0.3.0 +### 0.3.0 - 10 Aug 2023 * Make `get` recursive by default * SQL WHERE-style select clauses using `-w --where` * Rename from Mattress to Ghee. Third time's the charm, right? -### 0.4.0 +### 0.4.0 - 30 Aug 2023 Introduces the REPL and subcommands `init`, `ins`, `del`, and `ls`. @@ -39,7 +43,7 @@ Both `get` and `del` now use the best available index to minimize traversals. -[x] Make `get` return paths from original index rather than the one used to accelerate -[x] Fix output order, making commands reproducible -### 0.5.0 +### 0.5.0 - 19 Sep 2023 Maintains soundness of indices when `rm`ing, `set`ing, `cp`ing, and `mv`ing. @@ -100,3 +104,6 @@ Snapshot testing has been greatly strengthened, testing against ext4 and btrfs f -[x] Rename most-recent-snapshot -> HEAD -[x] Update README.md for 0.6 +## 0.6.1 - 2 Oct 2023 + +Points the `btrfsutil` dependency at a published crate version rather than Git repository. \ No newline at end of file diff --git a/README.md b/README.md index 5d9c23a..a8efe8f 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -# Ghee: a command line tool for working with Linux extended attributes (xattrs) +# Ghee: that thin layer of data change management over Btrfs, using Linux extended attributes (xattrs) -The tastiest way to work with Linux extended attributes (xattrs) written in pure Rust +The tastiest way to manage data using Linux extended attributes (xattrs), written in pure Rust and made of delicious, fibrous Open Source code. Ghee provides tools for manipulating xattrs on individual files as well as for working with the filesystem as a document database where the filesystem paths act as primary keys and extended attributes act as fields. -## History +Data in Ghee tables can be managed using Git-style commits, implemented as Btrfs subvolumes and read-only snapshots. -Ghee was developed in conjunction with the [Audiotater](https://git.disroot.org/joshhansen/audiotater) audio annotation tool. +In this way Ghee leverages the copy-on-write (CoW) nature of Btrfs to efficiently store deltas, even on large binary blobs. ## License