Re: Common ancestor in merge diffs?
- From
Daniel Barkalow <barkalow@iabervon.org>
- Date
- Jan 26, 2009, 19:52 UTC
- Message-ID
- <alpine.LNX.1.00.0901261412110.19665@iabervon.org>
- In-Reply-To
- <alpine.LFD.2.00.0901261100200.5284@localhost.localdomain>
On Mon, 26 Jan 2009, Linus Torvalds wrote:
Show 17 quoted lines
> On Mon, 26 Jan 2009, Daniel Barkalow wrote: > > > > I was just doing an annoying merge (I'd reorganized code while other > > people made changes to it), and I kept having the problem that it was hard > > to figure out what each side had done. Is there some way to ask git for > > the diffs between the common ancestor (which is unique in my case, so it's > > actually useful) and each of the sides of the merge? Ideally, it would > > give essentially the converse of the --cc diff: first column is -stage 1 > > +stage 2; second column is -stage 1 +stage 3. > > Have you tried "gitk --merge [filename]"? > > That's usually even more useful - because it doesn't just give a diff, it > gives the actual commits that caused the conflict. That way you see what > both sides of a merge tried to do.. It's what I do when encountering > conflicts on the kernel (where I'm usually not the author of _either_ side > of the code that causes a conflict), and it really is very powerful.
That is really nice, and quite handy. I ended up getting approximately that effect with blame and show, but gitk is much easier. For some reason, I never think of the graphical tools. Is there an easy way of focusing on the changes that end up in a particular conflict? Half of the work was finding the right commit and finding the right part of the diff.
-Daniel *This .sig left intentionally blank*