File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ ### Send Pack (client to server)
2+
3+ * ** git-odb**
4+
5+ The below is a very early draft - it would be better to study existing implementations first to get a better overview on what (not) to do.
6+ This one starts with the fun part to allow writing tests early and experiment with different diff algorithms and potentially their performance.
7+
8+ * [ ] generate a pack from objects received by an iterator producing
9+ * [ ] base objects only
10+ * [ ] best-fit delta objects using the [ similar] [ sim-crate ]
11+ * [ ] A mechanism to declare some bases to be 'out of pack' for thin pack support
12+ * [ ] ** Traversal** (as building blocks to feed pack generation)
13+ * [ ] Traverse a commit graph (look around to see what's common, if in doubt walk back the commit graph and see how to deal with branching)
14+ * [ ] Traverse trees
15+ * [ ] ** Iterator** to feed pack generation efficiently
16+
17+ * ** git-transport**
18+
19+ Certainly needs more research, but roughly…
20+
21+ * [ ] Server side ` accept() `
22+ * [ ] http(s)
23+ * [ ] ssh
24+ * [ ] ~~ daemon~~ probaby only used in testing, and we might implement it if it's useful for us as well
25+
26+ * ** git-protocol**
27+
28+ * [ ] Server side chatter to negotiate a pack for
29+ * [ ] protocol V2
30+ * [ ] protocol V1 (_ probably not worth it, let's see_ )
31+
32+ * ** gixp serve**
33+
34+ Probably more like a toy at first merely for testing operation against various git clients.
35+
36+ * [ ] A server able to answer via
37+ * [ ] http(s)
38+ * [ ] file protocol (or remote invocation via SSH)
39+
40+ [ sim-crate ] : https://crates.io/crates/similar
41+
142### Repository Clone
243
344* ** git-odb**
You can’t perform that action at this time.
0 commit comments