Skip to content

Commit 06d6c38

Browse files
committed
start the next work block: The transport protocol
1 parent e8df6c1 commit 06d6c38

File tree

1 file changed

+2
-63
lines changed

1 file changed

+2
-63
lines changed

tasks.md

Lines changed: 2 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,12 @@
1-
### Pack streaming and restoring
2-
3-
* **index-from-pack**
4-
* _capability to receive packs from a stream_
5-
* [x] stream pack with iterator interface
6-
* [x] provide seen compressed bytes
7-
* [x] repair pack - write trailer for all complete objects
8-
* [x] build index from pack
9-
* [x] header
10-
* [x] fan-out table
11-
* [x] oids
12-
* [x] crc32
13-
* [x] encode pack header (for needed for CRC32)
14-
* [x] 32bit offsets
15-
* [x] 64 bit offset extension
16-
* [x] seriously refactor the header abstraction in the pack file - it's not right at all.
17-
* [ ] ~~refactor pack:data::iter::Entry to duplicate less of pack::data::Entry~~
18-
* [x] use progress (one for reading bytes, one for objects, solving the long-standing problem on how to visualize this)
19-
* [x] use new show_throughput method everywhere
20-
* **cli index-from-pack**
21-
* [x] build index from pack
22-
* [x] from stdin()
23-
* [x] complete pack with trailer
24-
* **fixes**
25-
* [x] figure out why resolving the linux pack is so slow and fix it
26-
* [x] Allow to provide a pre-resolve phase to initialize the resolver
27-
* [x] Use Tree in verify impl
28-
* [x] ~~fix lookup todos~~ - it's nearly twice as slow
29-
* [x] per-object counts for statistics (and use that to optimize order when matching on object types)
30-
* [x] handle ctrl+c similarly to the pretty version to prevent leakage (or find a way to use
31-
system temp files)
32-
* [x] for lean mode
33-
* [x] for pretty mode
34-
* [x] allow interrupting the resolution phase too
35-
* [x] fix typo :D - thanks IJ for confusing me
36-
* [x] move --verbose, --progress and --progress-keep-open to the top-level
37-
* [x] journey test for command-line capabilities
38-
* [x] unit tests for bundle index write
39-
* [ ] ~~nicer errors with descriptive messages~~ I don't feel it now, and it's trivial to add them when needed
40-
* [x] stress test generating an index for the linux kernel pack (uses 64 bit offsets)
41-
* **cli - verify**
42-
* [ ] break progress up into bytes decompressed and compressed bytes read
43-
* **progress - convenience**
44-
* [x] use usize for progress counting
45-
* [x] Unit conversion probably using a new Unit enum (to support more than just bare strings)
46-
* [x] percentages somewhere near the progress bar
47-
* [x] Find a way to measure live throughput (in line renderer and tui renderer)
48-
* [ ] ~~a way to measure throughput on drop~~ - we don't know if the operation was successful, should not be automatic, ever
49-
* **parallel**
50-
* [ ] ~~sequential version of eager iterator~~ - let's always keep it eager as this really helps with offloading IO and some processing
51-
from the consumers.
52-
* [x] auto-sequential eager iterator if there is not enough objects to process
53-
**bugs & improvements**
54-
* [x] can abort sha1 of pack/index and ctrlc/interrupt is not intercepted.
55-
* [x] better usability for units
56-
* [x] When verifying, there is still 'sha1 of index' flying around despite being done
57-
* [x] parallelize initial verification of the pack and interrupt the rest on failure to trigger stopping everything else
58-
* **asciinemas**
59-
* [x] explode
60-
* [x] index-from-pack
61-
621
### Cloning
632

64-
* **receive pack**
65-
* [ ] resolve thin pack with Bundle
663
* **git-transport**
674
* [ ] transport layer
685
* [ ] receive a pack
696
* **git-refs**
707
* Enough to handle a git fetch - maybe we can just hardcode things for now…
8+
* **receive pack**
9+
* [ ] resolve thin pack with Bundle
7110
* **git-repository**
7211
* [ ] clone from https remote
7312

0 commit comments

Comments
 (0)