summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgit-fetch.sh6
-rwxr-xr-xgit-ls-remote.sh11
2 files changed, 13 insertions, 4 deletions
diff --git a/git-fetch.sh b/git-fetch.sh
index d1659e2..6730346 100755
--- a/git-fetch.sh
+++ b/git-fetch.sh
@@ -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
diff --git a/git-ls-remote.sh b/git-ls-remote.sh
index f699268..2c9a588 100755
--- a/git-ls-remote.sh
+++ b/git-ls-remote.sh
@@ -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 |