Re: Command-line interface thoughts
- From
Jeff King <peff@peff.net>
- Date
- Jun 9, 2011, 17:20 UTC
- Message-ID
- <20110609172000.GA30983@sigill.intra.peff.net>
- In-Reply-To
- <BANLkTinyYjXeg_khoU1dJVenP0mO2++hsw@mail.gmail.com>
On Thu, Jun 09, 2011 at 01:15:38PM -0400, Jay Soffian wrote:
Show 7 quoted lines
> > So the index is not quite simply a set of four trees. The presence of > > various stages for each entry tells us the progress of resolution. > > However, it would be useful I think to expose it as four separate > trees. During conflict resolution, I often want to look at the > conflicted files in these various states, and end up using various > incantations that are somewhat baroque.
Oh, I do agree that giving easier access to those things when you want them is reasonable. I just think that it can't _replace_ diffing with the index, which is able to look at all of the trees at once and present you with a useful subset.
Show 5 quoted lines
> In fact, my first step after a conflicted merge is: > > $ git tag -f ours HEAD > $ git tag -f theirs MERGE_HEAD > $ git tag -f base $(git merge-base HEAD MERGE_HEAD)
Do note that this last one is only almost true. There may be multiple bases, and what merge-recursive does with them may mean that what ends up in the "base" index stage for a file may not match what is in the first first merge-base (e.g., if a recursive virtual merge creates a new base).
But most of the time, it is right. :)
-Peff