Browse Source

git-{fetch,peek-remote} handling of --upload-pack

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>
maint
Michal Ostrowski 19 years ago committed by Junio C Hamano
parent
commit
96b086d618
  1. 6
      git-fetch.sh
  2. 11
      git-ls-remote.sh

6
git-fetch.sh

@ -18,6 +18,7 @@ force=
verbose= verbose=
update_head_ok= update_head_ok=
exec= exec=
upload_pack=
while case "$#" in 0) break ;; esac while case "$#" in 0) break ;; esac
do do
case "$1" in case "$1" in
@ -28,6 +29,7 @@ do
--upload-pac|--upload-pack) --upload-pac|--upload-pack)
shift shift
exec="--exec=$1" exec="--exec=$1"
upload_pack="-u $1"
;; ;;
-f|--f|--fo|--for|--forc|--force) -f|--f|--fo|--for|--forc|--force)
force=t force=t
@ -202,7 +204,7 @@ reflist=$(get_remote_refs_for_fetch "$@")
if test "$tags" if test "$tags"
then then
taglist=$(IFS=" " && taglist=$(IFS=" " &&
git-ls-remote --tags "$remote" | git-ls-remote $upload_pack --tags "$remote" |
while read sha1 name while read sha1 name
do do
case "$name" in case "$name" in
@ -367,7 +369,7 @@ fetch_main "$reflist"
case "$no_tags$tags" in case "$no_tags$tags" in
'') '')
taglist=$(IFS=" " && 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' | sed -ne 's|^\([0-9a-f]*\)[ ]\(refs/tags/.*\)^{}$|\1 \2|p' |
while read sha1 name while read sha1 name
do do

11
git-ls-remote.sh

@ -2,7 +2,8 @@
# #


usage () { 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; exit 1;
} }


@ -11,6 +12,7 @@ die () {
exit 1 exit 1
} }


exec=
while case "$#" in 0) break;; esac while case "$#" in 0) break;; esac
do do
case "$1" in case "$1" in
@ -18,6 +20,11 @@ do
heads=heads; shift ;; heads=heads; shift ;;
-t|--t|--ta|--tag|--tags) -t|--t|--ta|--tag|--tags)
tags=tags; shift ;; 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 ;; shift; break ;;
-*) -*)
@ -66,7 +73,7 @@ rsync://* )
;; ;;


* ) * )
git-peek-remote "$peek_repo" || git-peek-remote $exec "$peek_repo" ||
echo "failed slurping" echo "failed slurping"
;; ;;
esac | esac |

Loading…
Cancel
Save