summaryrefslogtreecommitdiff
path: root/Reintegrate
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-01-10 19:12:42 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-01-10 19:12:42 (GMT)
commitdc8b63cc1211cc5b86126b49bcba29340027823b (patch)
treeab52650ab9b9e66842bfb04a57b72b39d62cae55 /Reintegrate
parent07635fa6ffa2b16893f437274fd8f4415b65ec4d (diff)
downloadgit-dc8b63cc1211cc5b86126b49bcba29340027823b.zip
git-dc8b63cc1211cc5b86126b49bcba29340027823b.tar.gz
git-dc8b63cc1211cc5b86126b49bcba29340027823b.tar.bz2
Reintegrate: handle merging from remote tracking branches
Diffstat (limited to 'Reintegrate')
-rwxr-xr-xReintegrate21
1 files changed, 17 insertions, 4 deletions
diff --git a/Reintegrate b/Reintegrate
index d9f14f2..21da827 100755
--- a/Reintegrate
+++ b/Reintegrate
@@ -25,6 +25,7 @@ no)
return 1
else
EDITOR=: git commit -a --no-verify
+ echo "Accepted previous resolution"
return 0
fi
}
@@ -50,16 +51,28 @@ no)
exit
esac
-merge_msg="Merge branch '\(.*\)'"
x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
x40="$x40$x40$x40$x40$x40$x40$x40$x40"
LF='
'
show_merge () {
- branch=$(expr "$msg" : "$merge_msg") &&
- tip=$(git rev-parse --verify "refs/heads/$branch" 2>/dev/null) &&
- merged=$(git name-rev --refs="refs/heads/$branch" "$other" 2>/dev/null) &&
+ case "$msg" in
+ "Merge branch '"*"'"*" into "*)
+ branch=$(expr "$msg" : "Merge branch '\(.*\)'")
+ merge_hier=heads/
+ ;;
+ "Merge remote branch '"*"'"*" into "*)
+ branch=$(expr "$msg" : "Merge remote branch '\(.*\)'")
+ merge_hier=
+ ;;
+ *)
+ echo 2>&1 "Huh?: $msg"
+ exit 1
+ ;;
+ esac &&
+ tip=$(git rev-parse --verify "refs/$merge_hier$branch" 2>/dev/null) &&
+ merged=$(git name-rev --refs="refs/$merge_hier$branch" "$other" 2>/dev/null) &&
merged=$(expr "$merged" : "$x40 \(.*\)") &&
test "$merged" != undefined || {
other=$(git log -1 --pretty='format:%s' $other) &&