Re: 'git replace' and pushing
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 26, 2010, 23:18 UTC
- Message-ID
- <7vvd3jptch.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20101126214325.GC23462@burratino>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 20 quoted lines
> Real history > ------------ > 4' --- 5 --- 6 > > 1 --- 2 --- 3 --- 4 > > Fake history > ------------ > 1 --- 2 --- 3 --- 4 --- 5 --- 6 > > Replacement ref > --------------- > 4' --> 4 > > This way, a person a person can fetch either piece of real history > without trouble, and if they fetch the replacement ref, too, the > history is pasted together. > > It is not possible in git to push a commit without its ancestors; > replacement refs do not change that.
True, but I suspect the above picture pretty much satisfies Cory's initial wish, no? You can fetch recent 4'--5---6 history as if 4' were the root commit, and if you fetched replacement that tells us to pretend that 4' has 3 as its parent (and the history leading to 3), you will get a deeper history.