Code

Use branch names in 'git-rebase -m' conflict hunks.
authorShawn O. Pearce <spearce@spearce.org>
Thu, 28 Dec 2006 07:34:56 +0000 (02:34 -0500)
committerJunio C Hamano <junkio@cox.net>
Thu, 28 Dec 2006 09:07:32 +0000 (01:07 -0800)
commit0bb733c91cb472a1a5b62381ff4037c6fb124e38
tree7035717a10ce4b595438a1a9535f0cd55ca82fb1
parent42ea5a5784a60d1e9280d81619779edd870c2fcc
Use branch names in 'git-rebase -m' conflict hunks.

If a three-way merge in git-rebase generates a conflict then we
should take advantage of git-merge-recursive's ability to include
the branch name of each side of the conflict hunk by setting the
GITHEAD_* environment variables.

In the case of rebase there aren't really two clear branches; we
have the branch we are rebasing onto, and we have the branch we are
currently rebasing.  Since most conflicts will be arising between
the user's current branch and the branch they are rebasing onto
we assume the stuff that isn't in the current commit is the "onto"
branch and the stuff in the current commit is the "current" branch.

This assumption may however come up wrong if the user resolves one
conflict in such a way that it conflicts again on a future commit
also being rebased.  In this case the user's prior resolution will
appear to be in the "onto" part of the hunk.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-rebase.sh