File tree 1 file changed +41
-0
lines changed 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
+
1
42
### Repository Clone
2
43
3
44
* ** git-odb**
You can’t perform that action at this time.
0 commit comments