summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2005-08-22 21:57:59 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2005-08-24 16:50:52 -0700
commit521003ff52d1cf742350e1342bc2dd4ab1b51e6b (patch)
tree40f848b88cb8ffc9fccf7e1488582751705b2fe5
parent[PATCH] "git fetch --force". (diff)
downloadtgif-521003ff52d1cf742350e1342bc2dd4ab1b51e6b.tar.xz
[PATCH] Use git-octopus when pulling more than one heads.
With this, you can finally say "git pull jgarzik sil24 pdc2027x". Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-xgit-pull-script14
1 files changed, 12 insertions, 2 deletions
diff --git a/git-pull-script b/git-pull-script
index 8608fcdebc..7016fbf943 100755
--- a/git-pull-script
+++ b/git-pull-script
@@ -1,5 +1,9 @@
#!/bin/sh
#
+# Copyright (c) 2005 Junio C Hamano
+#
+# Fetch one or more remote refs and merge it/them into the current HEAD.
+
. git-sh-setup-script || die "Not a git archive"
git-fetch-script "$@" || exit 1
merge_head=$(sed -e 's/ .*//' "$GIT_DIR"/FETCH_HEAD | tr '\012' ' ')
@@ -7,10 +11,16 @@ merge_name=$(sed -e 's/^[0-9a-f]* //' "$GIT_DIR"/FETCH_HEAD |
tr '\012' ' ')
case "$merge_head" in
-'' | *' '?*) die "Cannot resolve multiple heads at the same time (yet)." ;;
+'')
+ echo >&2 "No changes."
+ exit 0
+ ;;
+*' '?*)
+ echo >&2 "Pulling more than one heads; making an Octopus."
+ exec git-octopus-script
+ ;;
esac
-
git-resolve-script \
"$(cat "$GIT_DIR"/HEAD)" \
$merge_head "Merge $merge_name"