26 lines · 976 B · Markdown
RawDownload

TODO pack decoding + pack exploding

  • parallel
    • limit parallelism by allowing to set the amount of threads
  • pack
    • extract borrowed objects from a pack
    • support streamed objects (similar to how it's done with loose objects) - no need, all slices support io::Read, and we don't actually support streaming, so let's net unify 'interfaces' on a low level like this.
  • borrowed objects
    • write loose
      • blob
      • tag
      • tree
      • commit
  • plumbing - explode pack
    • single threaded
    • multi-threaded
    • progress
    • statistics
  • pack verify
    • add '--some-flag' to run every non-blob through a decode/encode cycle to see if all objects can be parsed
    • add that to the stress test
  • multi-db (incorporate object lookup for loose objects and packs)
    • single threaded
    • optional object cache
    • fs-check - verify all object content of a git repository