Re: [PATCH] Document what the stage numbers in the :$n:path syntax mean.
- From
Jeff King <peff@peff.net>
- Date
- Aug 20, 2007, 08:04 UTC
- Message-ID
- <20070820080453.GA13233@coredump.intra.peff.net>
- In-Reply-To
- <828x86ad8q.fsf@mid.bfk.de>
On Mon, Aug 20, 2007 at 09:15:01AM +0200, Florian Weimer wrote:
Show 8 quoted lines
> > Actually, what's wrong with the following: > > > > git show HEAD:foo.c > > git show MERGE_HEAD:foo.c > > I think that in the staged versions, the non-conflicting parts of the > merge are in fact merged. For the HEAD/MERGE_HEAD versions, this > isn't the case, obviously.
No, the stage versions are not merged at all (but the working tree copy has all non-conflicting parts merged).
Here's a script that creates a conflicted file with one easily resolved part and one conflict. You can see the staged hashes at the end (and check the working tree copy to see that only the one conflict is marked).
-Peff
-- >8 -- mkdir repo && cd repo && git-init
head -n 100 </usr/share/dict/words >words git-add words git-commit -m words
sed '10d' <words >words.tmp mv words.tmp words git-commit -a -m 'remove 10'
git-checkout -b other HEAD^
sed '9d
90d' <words >words.tmp
mv words.tmp words
git-commit -a -m 'remove 9 and 90'git-merge master
echo "stage 2 `git-rev-parse :2:words`" echo "HEAD `git-rev-parse HEAD:words`" echo "stage 3 `git-rev-parse :3:words`" echo "MERGE_HEAD `git-rev-parse MERGE_HEAD:words`"