From: Petr Baudis Date: Tue, 09 Feb 2010 23:57:07 GMT Subject: Re: What should I do to display the diff of even a simple merge commit? Message-ID: <20100209235707.GQ9553@machine.or.cz> In-Reply-To: <46d6db661002091545j74f625ffr74ca70a0474948fc@mail.gmail.com> Hi! On Wed, Feb 10, 2010 at 12:45:44AM +0100, Christian MICHON wrote: > I'm performing many merges between developpers branches these days, > most of them not yielding into conflicts. (understand: simple merges) > > All is good, but sometimes, I would like to really like what has been changed. > > As I do not systematically do this "git merge --no-commit --stat > " and then fire "git gui" to inspect the diffs before > the real commit, I'm wondering: how could I do this using some > plumbing ? > > Right now, I've tried the obvious git log -c -p, git show -u --cc, but > since the merge are simple merges, I cannot get any diff output. I > believe this is by construction. > > Any hints ? I'm not sure if there is any clever switch for this, but I usually just use one of git diff mergecommit^1 mergecommit git diff mergecommit^2 mergecommit depending on which parent I want the diff against. If you always do your merges as "on mainline, merging in a topic" without fast-forwarding, diff against the first parent will be probably the right one and you can simply use: git diff mergecommit^ mergecommit Kind regards, Petr "Pasky" Baudis