All of lore.kernel.org
 help / color / mirror / Atom feed
* generating combined diff without an existing merge commit
@ 2016-10-21 21:40 Jacob Keller
  2016-10-21 22:01 ` Jacob Keller
  0 siblings, 1 reply; 8+ messages in thread
From: Jacob Keller @ 2016-10-21 21:40 UTC (permalink / raw)
  To: Git mailing list

Hi,

I recently determined that I can produce an interdiff for a series
that handles rebasing nicely and shows the conflicts resolved when
rebasing plus any other changes.

The basic idea is something like the following, assuming that v1 is a
tag that points to the first version, v2 is a tag that points to the
rebased new version, and base is a tag that points to the new base of
the series (ie: the upstream if the v2 is on a branch and has been
fully rebased)

git checkout v1
git merge base
#perform any further edits to get everything looking like v2
git commit
git show -cc HEAD

This is also equivalent to the following without having to actually do
the merge manually:

git commit-tree v2^{head} -p v1 -p master -m "some merge message"
git show <output from the commit tree above)

this nicely shows us the combined diff format which correctly shows
any conflicts required to fix up during the rebase (which we already
did because we have v2) and it also shows any *other* changes caused
by v2 but without showing changes which we didn't actually make. (I
think?)

The result is that we can nicely see what was required to produce v2
from v1 but without being cluttered by what changed in base.

However, I have to actually generate the commit to do this. I am
wondering if it is possible today to actually just do something like:

git diff <treeish> <treeish> <treeish> and get the result that I want?

I've already started digging to see if I can do that but haven't found
anything yet.

Thanks,
Jake

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-10-27 18:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-21 21:40 generating combined diff without an existing merge commit Jacob Keller
2016-10-21 22:01 ` Jacob Keller
2016-10-21 22:41   ` Junio C Hamano
2016-10-21 22:54     ` Jacob Keller
2016-10-26  9:11       ` [PATCH] Documentation/git-diff: document git diff with 3+ commits Michael J Gruber
2016-10-26 18:11         ` Junio C Hamano
2016-10-27  9:27           ` Michael J Gruber
2016-10-27 18:40             ` Junio C Hamano

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.