git-{fetch,peek-remote} handling of --upload-pack
authorMichal Ostrowski <mostrows@watson.ibm.com>
Fri, 20 Jan 2006 18:38:16 +0000 (13:38 -0500)
committerJunio C Hamano <junkio@cox.net>
Wed, 25 Jan 2006 07:17:26 +0000 (23:17 -0800)
git-peek-remote needs to handle a -u|--upload-pack parameter just like
git-fetch (and git-fetch has to pass it on to git-peek-remote).

(This is actually a follow-up to my previous git-fetch patch.)

Signed-off-by: Michal Ostrowski <mostrows@heater.watson.ibm.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-fetch.sh
git-ls-remote.sh

index d1659e2..6730346 100755 (executable)
@@ -18,6 +18,7 @@ force=
 verbose=
 update_head_ok=
 exec=
+upload_pack=
 while case "$#" in 0) break ;; esac
 do
        case "$1" in
@@ -28,6 +29,7 @@ do
        --upload-pac|--upload-pack)
                shift
                exec="--exec=$1" 
+               upload_pack="-u $1"
                ;;
        -f|--f|--fo|--for|--forc|--force)
                force=t
@@ -202,7 +204,7 @@ reflist=$(get_remote_refs_for_fetch "$@")
 if test "$tags"
 then
        taglist=$(IFS=" " &&
-                 git-ls-remote --tags "$remote" |
+                 git-ls-remote $upload_pack --tags "$remote" |
                  while read sha1 name
                  do
                        case "$name" in
@@ -367,7 +369,7 @@ fetch_main "$reflist"
 case "$no_tags$tags" in
 '')
        taglist=$(IFS=" " &&
-       git-ls-remote --tags "$remote" |
+       git-ls-remote $upload_pack --tags "$remote" |
        sed -ne 's|^\([0-9a-f]*\)[      ]\(refs/tags/.*\)^{}$|\1 \2|p' |
        while read sha1 name
        do
index f699268..2c9a588 100755 (executable)
@@ -2,7 +2,8 @@
 #
 
 usage () {
-    echo >&2 "usage: $0 [--heads] [--tags] <repository> <refs>..."
+    echo >&2 "usage: $0 [--heads] [--tags] [-u|--upload-pack <upload-pack>]"
+    echo >&2 "          <repository> <refs>..."
     exit 1;
 }
 
@@ -11,6 +12,7 @@ die () {
     exit 1
 }
 
+exec=
 while case "$#" in 0) break;; esac
 do
   case "$1" in
@@ -18,6 +20,11 @@ do
   heads=heads; shift ;;
   -t|--t|--ta|--tag|--tags)
   tags=tags; shift ;;
+  -u|--u|--up|--upl|--uploa|--upload|--upload-|--upload-p|--upload-pa|\
+  --upload-pac|--upload-pack)
+       shift
+       exec="--exec=$1"
+       shift;;
   --)
   shift; break ;;
   -*)
@@ -66,7 +73,7 @@ rsync://* )
        ;;
 
 * )
-       git-peek-remote "$peek_repo" ||
+       git-peek-remote $exec "$peek_repo" ||
                echo "failed    slurping"
        ;;
 esac |