Skip to content

Commit

Permalink
git-fetch: pass --upload-pack to fetch-pack
Browse files Browse the repository at this point in the history
Without this, there is no way to specify a remote executable when
invoking git-pull/git-fetch as there is for git-clone.

[jc: I have a mild suspicion that this is a broken environment (aka
 sysadmin disservice).  It may be legal to configure your sshd to
 spawn named program without involving shell at all, and if your
 sysadmin does so and you have your git programs under your home
 directory, you would need something like this, but then I suspect
 you would need such workaround everywhere, not just git. But we
 have these options we can use to work around the issue, so there
 is no strong reason not to reject this patch, either. ]

Signed-off-by: Michal Ostrowski <mostrows@watson.ibm.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Michal Ostrowski authored and Junio C Hamano committed Jan 25, 2006
1 parent 941c944 commit 2c620a1
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
7 changes: 7 additions & 0 deletions Documentation/fetch-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
existing contents of `.git/FETCH_HEAD`. Without this
option old data in `.git/FETCH_HEAD` will be overwritten.

--upload-pack <upload-pack>::
-u <upload-pack>::
When given, and the repository to fetch from is handled
by 'git-fetch-pack', '--exec=<upload-pack>' is passed to
the command to specify non-default path for the command
run on the other end.

-f, \--force::
When `git-fetch` is used with `<rbranch>:<lbranch>`
refspec, it refuses to update the local branch
Expand Down
8 changes: 7 additions & 1 deletion git-fetch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,18 @@ append=
force=
verbose=
update_head_ok=
exec=
while case "$#" in 0) break ;; esac
do
case "$1" in
-a|--a|--ap|--app|--appe|--appen|--append)
append=t
;;
-u|--u|--up|--upl|--uploa|--upload|--upload-|--upload-p|--upload-pa|\
--upload-pac|--upload-pack)
shift
exec="--exec=$1"
;;
-f|--f|--fo|--for|--forc|--force)
force=t
;;
Expand Down Expand Up @@ -312,7 +318,7 @@ fetch_main () {
( : subshell because we muck with IFS
IFS=" $LF"
(
git-fetch-pack $keep "$remote" $rref || echo failed "$remote"
git-fetch-pack $exec $keep "$remote" $rref || echo failed "$remote"
) |
while read sha1 remote_name
do
Expand Down

0 comments on commit 2c620a1

Please sign in to comment.