From d2f423521ec76406944ad83098ec33afe20c692b Mon Sep 17 00:00:00 2001 From: Kim Altintop Date: Mon, 9 Jan 2023 13:18:33 +0100 Subject: This is it Squashed commit of all the exploration history. Development starts here. Signed-off-by: Kim Altintop --- TODO | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 TODO (limited to 'TODO') diff --git a/TODO b/TODO new file mode 100644 index 0000000..0c98462 --- /dev/null +++ b/TODO @@ -0,0 +1,55 @@ +- UI + - Fetch drop bundles + - git (from "dumb" mirrors) + + - Apply patches from foreign drops + - Allow building drop state from foreign drop + + - Improve $EDITOR use + - don't launch unless isatty + - for metadata json, use ft=javascript and add help text + - re-launch when edit error + + - List auto-branches + - More topic traversals (DFS, BFS, ..) + + - Handle $PAGER, like git does? + - Diff/apply patch? + - Teardown? + +- Internals + - Cache topic subjects + - Open repo eagerly at outermost command layer + + So we can return actual iterators from commands. Do we need a repo always, + though? + + - Index bundle hash -> header meta + + For dynamic repacking + + - Upstream bindings to git_indexer_* + + So that we can resolve delta bases without committing to the odb + immediately. This would allow to deduplicate packfile storage, and + partition the odb as follows: + + - store the bundle pack and associated index in a directory separate from + the repo objects (possibly scoped by drop) + - add this directory as an alternate to the repo, preventing compaction + initiated by git + - strip the pack data from the bundle and replace with a pointer to the + pack + - snapshots now become compactions of this alternate objects store, + controlled by `it` + - when a snapshot is taken, dangling bundle (-headers) may either be + pruned, resulting in a 404 from the HTTP server when the bundle is + requested, or the pointer be replaced by a marker indicating that the + bundle was made obsolete by the corresponding snapshot bundle. The HTTP + server may then send a redirect to the snapshot instead. + +- Protocol + - Implement automerge topics + +- HTTP + - Accept checkpoints if authorised -- cgit v1.2.3