ok/jj
1
0
Fork 0
forked from mirrors/jj
jj/lib/src
Martin von Zweigbergk e86d266e6b stacked_table: add a file format for stacked, sorted tables
I'm trying to replace the Git backend's use of Git notes for storing
metadata (#7). This patch adds a file format that I hope can be used
for that. It's a simple generic format for storing fixed-size keys and
associated variable-size values. The keys are stored in sorted
order. Each key is followed by an offset to the value. The offset is
relative to the first value. All values are concatenated after each
other. I suppose it's a bit like Git's pack files but lacking both
delta-encoding and compression.

Each file can also have a parent pointer (just like the index files
have), so we don't have to rewrite the whole file each time. As with
the index files, the new format squashes a file into its parent if it
contains more than half the number of entries of the parent. The code
is also based on `index.rs`.

Perhaps we can alo replace the default operation storage with this
format. Maybe also the native local backend's storage. We'll need
delta-encoding and compression soon then.
2021-10-20 13:19:32 -07:00
..
backend.rs backend: remove unused Commit::is_pruned (#32) 2021-10-06 23:53:15 -07:00
commit.rs backend: remove unused Commit::is_pruned (#32) 2021-10-06 23:53:15 -07:00
commit_builder.rs backend: remove unused Commit::is_pruned (#32) 2021-10-06 23:53:15 -07:00
conflicts.rs conflicts: work around rust-lang/rust#89716 2021-10-13 13:41:09 -07:00
dag_walk.rs cleanup: let Clippy fix a bunch of warnings 2021-06-14 00:27:31 -07:00
diff.rs diff: compact adjacent unchanged regions also when using for_tokenizer() 2021-10-10 00:00:06 -07:00
file_util.rs working_copy: consider it an error if temp file cannot be renamed to target 2021-06-16 10:52:55 -07:00
files.rs conflicts: work around rust-lang/rust#89716 2021-10-13 13:41:09 -07:00
git.rs git: add support for password-less SSH keys 2021-10-09 09:44:57 -07:00
git_backend.rs store: move logic for initialization of GitBackend to that type 2021-10-18 08:49:22 -07:00
gitignore.rs cleanup: let Clippy fix a bunch of warnings 2021-06-14 00:27:31 -07:00
index.rs index: remove predecessor information from the index 2021-10-17 09:13:31 -07:00
index_store.rs index: transparently reindex if the index is corrupt 2021-10-17 09:13:31 -07:00
lib.rs stacked_table: add a file format for stacked, sorted tables 2021-10-20 13:19:32 -07:00
local_backend.rs backend: remove unused Commit::is_pruned (#32) 2021-10-06 23:53:15 -07:00
lock.rs tests: use one thread per core in concurrency tests 2021-04-29 00:01:04 -07:00
matchers.rs cleanup: let Clippy fix a bunch of warnings 2021-06-14 00:27:31 -07:00
op_heads_store.rs store: rename Store to Backend and StoreWrapper to Store 2021-09-12 12:02:10 -07:00
op_store.rs cleanup: fix issues found by latest rustc and clippy 2021-09-29 10:12:38 -07:00
operation.rs store: rename Store to Backend and StoreWrapper to Store 2021-09-12 12:02:10 -07:00
protos.rs
refs.rs store: rename Store to Backend and StoreWrapper to Store 2021-09-12 12:02:10 -07:00
repo.rs repo: fix crash on upgrade of repo backed by external Git repo 2021-10-14 16:41:57 -07:00
repo_path.rs cleanup: let Clippy fix a bunch of warnings 2021-06-14 00:27:31 -07:00
revset.pest
revset.rs revset: make head() accept candidate set to find heads within 2021-10-13 09:41:20 -07:00
revset_graph_iterator.rs revsets: remove transitive edges in graph iterator by default 2021-05-01 23:25:33 -07:00
rewrite.rs DescendantRebaser: also remove old heads 2021-10-06 22:01:39 -07:00
settings.rs cleanup: fix issues found by latest rustc and clippy 2021-09-29 10:12:38 -07:00
simple_op_store.rs cleanup: let newer Clippy fix a few things it found 2021-10-13 08:27:44 -07:00
stacked_table.rs stacked_table: add a file format for stacked, sorted tables 2021-10-20 13:19:32 -07:00
store.rs store: move logic for initialization of GitBackend to that type 2021-10-18 08:49:22 -07:00
testutils.rs tests: move assert_rebased() function to testutils 2021-09-29 11:41:51 -07:00
transaction.rs evolution: delete it now that we don't use it anymore (#32) 2021-10-06 23:28:30 -07:00
tree.rs store: remove (weak) self-reference and take &Arc<Self> arguments instead 2021-09-16 23:30:30 -07:00
tree_builder.rs store: rename Store to Backend and StoreWrapper to Store 2021-09-12 12:02:10 -07:00
view.rs store: rename Store to Backend and StoreWrapper to Store 2021-09-12 12:02:10 -07:00
working_copy.rs store: rename Store to Backend and StoreWrapper to Store 2021-09-12 12:02:10 -07:00