summaryrefslogtreecommitdiff
path: root/git-merge.sh
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2006-12-23 03:44:47 -0500
committerJunio C Hamano <junkio@cox.net>2006-12-23 01:29:37 -0800
commite0ec18192db8a5f80705a81dfaa1caa3e6c48c1a (patch)
tree66bba834a3c73b3c10f916578da0fbd71b9a8f50 /git-merge.sh
parentd9606e85cdf26b738786b5e5289bf8335656e95e (diff)
downloadgit-e0ec18192db8a5f80705a81dfaa1caa3e6c48c1a.tar.gz
Display 'theirs' branch name when possible in merge.
Displaying the SHA1 of 'their' branch (the branch being merged into the current branch) is not nearly as friendly as just displaying the name of that branch, especially if that branch is already local to this repository. git-merge now sets the environment variable 'GITHEAD_%(sha1)=%(name)' for each argument it gets passed, making the actual input name that resolved to the commit '%(sha1)' easily available to the invoked merge strategy. git-merge-recursive makes use of these environment variables when they are available by using '%(name)' whenever it outputs the commit identification rather than '%(sha1)'. This is most obvious in the conflict hunks created by xdl_merge: $ git mege sideb~1 <<<<<<< HEAD:INSTALL Good! ======= Oops. >>>>>>> sideb~1:INSTALL [jc: adjusted a test script and a minor constness glitch.] Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-merge.sh')
-rwxr-xr-xgit-merge.sh2
1 files changed, 2 insertions, 0 deletions
diff --git a/git-merge.sh b/git-merge.sh
index aec215e725..7dd0a11236 100755
--- a/git-merge.sh
+++ b/git-merge.sh
@@ -221,6 +221,8 @@ do
remotehead=$(git-rev-parse --verify "$remote"^0 2>/dev/null) ||
die "$remote - not something we can merge"
remoteheads="${remoteheads}$remotehead "
+ eval GITHEAD_$remotehead='"$remote"'
+ export GITHEAD_$remotehead
done
set x $remoteheads ; shift