Re: GTP/0.1 terminology 101: commit reels and references
- From
Sam Vilain <sam@vilain.net>
- Date
- Jul 29, 2008, 07:00 UTC
- Message-ID
- <1217314847.28919.98.camel@maia.lan>
- In-Reply-To
- <alpine.DEB.1.00.0807290014110.2725@eeepc-johanness>
On Tue, 2008-07-29 at 00:30 +0200, Johannes Schindelin wrote:
Show 7 quoted lines
> > Yes, but it is more defined than that. There are still ambiguities with > > topological sort, so the gittorrent spec specified exactly how all ties > > are broken. They happen to be a further refinement of --date-order, > > with respect to the ordering of commits. > > But does that not mean that any new ref branching off of an ancient commit > changes all the pack boundaries?
No. A "References" object is a snapshot of all refs at a particular time. If you want to make a new ref you make a new "References" object. *all* of the new objects are contained in the new reel, and the new reels do not affect the old reels.
Show 5 quoted lines
> That should be easy, but I think that it would be _even better_ if we ask > pack-objects to generate several packs from the needed objects. Ooops. > That already exists: > > $ git pack-objects --max-pack-size=<n>
This does not deterministically generate the same pack for a given set of refs across all git versions.
Your ideas would have been excellent earlier on, perhaps if developed they might have resulted in something quite a bit simpler with all of the features the current protocol has - but given we are in the second half of a GSoC project of which the end is in sight then I think we should shelve them until the project finishes. There has certainly been a lot of useful things come out of them!
Cheers, Sam.