Re: [PATCH] user-manual: Talk about tracking third-party snapshots
- From
- Michael Smith <msmith@cbnco.com>
- Date
- Nov 13, 2007, 21:37 UTC
- Message-ID
- <Pine.LNX.4.64.0711131617580.4038@juice.ott.cti.com>
- In-Reply-To
- <7vtznqrlrb.fsf@gitster.siamese.dyndns.org>
On Tue, 13 Nov 2007, Junio C Hamano wrote:
> > +$ git checkout master > > +$ git merge --strategy=ours \ > > + -m "Tie old v1.1 into our history by merging with strategy=ours." \ > > + v1.1
Show 5 quoted lines
> This would work only when your 'master' happens to be at v1.1 > (and identical to it) isn't it? > > People would want to know "But my 'master' is _not_ at v1.1 but > is _based_ on v1.1. How would I handle that case?"
That was actually my case - my master was based on v1.1. The command worked for me - I was able to merge in v1.2 from Git afterward - but maybe I just got lucky, so I'd be interested to know the right thing to do.
I think --strategy=ours just leaves the files as is on master and creates a merge commit with two parents: master and v1.1. So anything between v1.1 and v1.2, on the upstream branch, is fair game to be merged next time.
So, say I started with this:
---------------
old snapshot branch: snap-v1.0---snap-v1.1
\ \
master: o---o---o---o--o-onew Git upstream: o--o-v1.0-o-o-o-o-o-o-v1.1-o-o-v1.2 ---------------
I could make the merge with --strategy=ours:
---------------
old snapshot branch: snap-v1.0---snap-v1.1
\ \
master: o---o---o---o--o-o--o
/
new Git upstream: o--o-v1.0-o-o-o-o-o-o-v1.1-o-o-v1.2
---------------Then I'd free to merge in v1.2:
---------------
master: o---o---o---o--o-o--o------o
/ /
new Git upstream: o--o-v1.0-o-o-o-o-o-o-v1.1-o-o-v1.2
---------------Hmm, looks like a toothbrush. But is it right?
Mike