-
-
Notifications
You must be signed in to change notification settings - Fork 359
Open
Labels
C-tracking-issueAn issue to track to track the progress of multiple PRs or issuesAn issue to track to track the progress of multiple PRs or issues
Description
What would be needed to allow a server to send a pack?
Tasks
Server fetch/pull (server to client)
- git-odb
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.
This one starts with the fun part to allow writing tests early and experiment with different diff algorithms and potentially their performance.
- generate a pack from objects received by an iterator producing (see issue)
- base objects only
- re-use existing delta objects
- A mechanism to declare some bases to be 'out of pack' for thin pack support
- Iterator to feed pack generation efficiently
- pack creation
- git-transport
Certainly needs more research, but roughly…
-
Server side
accept()
- http(s)
- ssh
-
daemonprobaby only used in testing, and we might implement it if it's useful for us as well
-
git-protocol
- Server side chatter to negotiate a pack for
- protocol V2
- protocol V1 (probably not worth it, let's see)
- Server side chatter to negotiate a pack for
-
gix-serve
Probably more like a toy at first merely for testing operation against various git clients.
- A server able to answer via
- http(s)
- file protocol (or remote invocation via SSH)
-
git://
Notes
- Could something like
gittorrent
be build using the plumbing of the server? Is it desirable even? Can there be some differentiation to allow custom transport layers easily?
willstott101, ethever, theoparis, JellyBrick, juancampa and 2 moreilbertt and juancampa
Metadata
Metadata
Assignees
Labels
C-tracking-issueAn issue to track to track the progress of multiple PRs or issuesAn issue to track to track the progress of multiple PRs or issues