72 lines · 3.2 KB · Markdown
RawDownload

Repository Clone

  • git-odb
    • all docs, sans examples
    • Rename pack data/pack index Kind to Version or similar, because that's what it really is.
  • git-object refactor
    • split Id and everything hash related into git-id
    • use git-id inside of git-features, remove cycle
  • git-config
    • A complete implementation, writing a the git remote configuration is needed for finalizing the clone
    • API round trip - read - edit - write - read
      • parse sections (not sub-sections) and whitespace/comments
        • write all
      • Add section
        • write all
      • rename section
        • write all
      • delete section
        • write all
    • Sections lookup
      • case-insensitive section
      • case-sensitive subsection
      • case sensitive 'legacy section.subsection' lookup
    • Config type which integrates multiple files into one interface, much like a multi version of File
  • 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-index
    • Create an index from tree
    • Checkout index to worktree
  • 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

Commit-Graph

  • A plumbing command to extract some value from the current implementation, maybe statistics, or verification

  • Application of the command above in a stress test

  • Questions

Other

To be picked in any order….

  • google-apis-rs PR
    • upgrade toolchain
    • Upgrade to latest hyper/tokio to get everything to compile again
  • criner
    • switch to isahc or ureq (blocking, but could use unblock for that) seems to allow async-reading of bodies, allowing to get rid of reqwest and tokio. Redirect is configurable.
  • Upgrade to TUI 0.14, which does come with a share of breaking changes.