Re: clone breaks replace
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Jan 11, 2011, 06:52 UTC
- Message-ID
- <20110111065244.GB8631@burratino>
- In-Reply-To
- <20110111054735.GC10094@sigill.intra.peff.net>
Jeff King wrote:
> On Fri, Jan 07, 2011 at 07:43:40PM -0500, Phillip Susi wrote:
>> What parts do not respect replacement? More importantly, what parts >> will be broken?
[...]
> Off the top of my head, I don't know. I suspect it would take somebody > writing a patch to create such an incomplete repository (or making one > manually) and seeing how badly things broke.
I have two worries:
- first, how easily can the replacement be undone? (as you mention below) - second, what happens if the two ends of transport have different replacements?
That second worry is the more major in my opinion. Shallow clones are a different story --- they do not fundamentally change the history and they have special support in git protocol. It is possible to punt on both by saying that (1) replacements _cannot_ be undone --- a second replacement is needed --- and (2) the receiving end of a connection is not allowed to have any replacements for objects in common that the sending end does not have, but then does that buy you anything significant over a filter-branch?