From: Linus Torvalds Date: Wed, 29 Jun 2005 21:38:44 GMT Subject: Re: CAREFUL! No more delta object support! Message-ID: In-Reply-To: On Wed, 29 Jun 2005, Daniel Barkalow wrote: > > > Of course, you can do this one branch at a time, too, if you want to, but > > the above was meant as an example of how you can actually do all the > > branches in one single pack-file, which is a lot more efficient (if you do > > it one branch at a time, you'll quite possible end up transferring objects > > that are reachable in other branches multiple times, while the "all in one > > go" thing will pack each object just once). > > It should transfer each only once if you recalculate "refs_in_b" after > each push, right? Yes, you can do it that way too. It will possibly not pack as well due to giving you fewer opportunities for deltas, but that's likely not a huge issue. > The one thing I can think of is whether things will blow up if the target > repository has heads that aren't in the source Right. I think that's a "feature" of pushing: you cannot push to an archive that has state that you don't know about. Ie you can only push to something that is a proper subset of what you are (on a per-branch basis, of course - not necessarily on a "global" stage - so you could push just _one_ branch, even if another branch was ahead of where you are). Linus