43 lines · 1.8 KB · Markdown
RawDownload

Repository Clone

  • git-transport (shallow - for completeness and because it's still fresh)
  • a way to support shallow lines during V1 handshake (doesnt' seem to happen in V2 at all)
  • shallow support for V2
  • git-odb
    • alternate DB
    • multi-odb
  • git-ref
    • create ref pointing to ID
      • assure to keep the path towards symbolic refs open, and allow specifying if these should be followed or not
  • git-repository
    • instance for a valid looking repository
      • support shallow repos/references
    • create-update refs as received from clone/git-receive-pack
  • gix clone
    • try initializing repo on output path - if so, use that to learn about pack location and place new pack there, allow Repo to create refs somehow.
      • _probably this is done using the repository itself, which steers the whole process and injects it's own delegates.
    • otherwise create the scaffolding needed for a new repository, probably based on init implementation
  • receive pack
    • resolve thin pack with Bundle
  • git-repository
    • clone from https remote

FSCK an entire repository

  • 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

Other

To be picked in any order….

  • prodash
    • finish transitioning to futures-lite to get rid of futures-util dependency to reduce compile times
  • criner
    • upgrade to prodash 9.0
    • switch to isahc seems to allow async-reading of bodies, allowing to get rid of reqwest and tokio. Redirect is configurable.