Code

[PATCH] Use git-octopus when pulling more than one heads.
authorJunio C Hamano <junkio@cox.net>
Tue, 23 Aug 2005 04:57:59 +0000 (21:57 -0700)
committerJunio C Hamano <junkio@cox.net>
Wed, 24 Aug 2005 23:50:52 +0000 (16:50 -0700)
With this, you can finally say "git pull jgarzik sil24 pdc2027x".

Signed-off-by: Junio C Hamano <junkio@cox.net>
git-pull-script

index 8608fcdebc1be7917de38740b3264edf5e0998ec..7016fbf943406d8e647e7a02f283fa10ab134905 100755 (executable)
@@ -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"