Re: [PATCH] Make "git request-pull" use the configured remote.REMOTE.uploadpack
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jul 29, 2009, 05:05 UTC
- Message-ID
- <7vws5syt78.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20090729013002.GM4850@redback.com>
Tom Grennan <tgrennan@redback.com> writes:
Show 20 quoted lines
> On Tue, Jul 28, 2009 at 05:13:30PM -0700, Santi Béjar wrote: >>2009/7/27 Tom Grennan <tgrennan@redback.com>: >>> git-request-pull.sh should use git-parse-remote:get_uploadpack() to >>> load a configured remote.REMOTE.uploadpack like "git remote show" and >>> "git fetch". This allows one to specify the path of git-upload-pack on >>> the remote side. >> >>Sorry, but I removed all unused functions from git-parse-remote in 62d955f >>(parse-remote: remove unused functions, 2009-06-12), and it is in >>v1.6.4-rc1. I don't think there is much problem reverting part of that commit, >>but I wonder if the problem is that "git ls-remote" does not read the >>remote.<remote>.uploadpack by itself as it reads the remote.<remote>.url. >> >>Santi > > Thanks for the hint. > > Yes, "git ls-remote" is retrieving remote.<remote>.uploadpack when > dest is a configured remote. However, git-request-pull runs ls-remote > after converting its URL argument from remote.<remote>.url
Thanks, both.
-- >8 -- From: Tom Grennan <tgrennan@redback.com> Date: Tue, 28 Jul 2009 18:30:02 -0700 Subject: request-pull: allow ls-remote to notice remote.$nickname.uploadpack
The location to pull from should be converted from the configured nickname to URL in the message, but ls-remote should be fed the nickname so that the command uses remote.$nickname.* variables, most notably "uploadpack".
Signed-off-by: Tom Grennan <tgrennan@redback.com> ---
diff --git a/git-request-pull.sh b/git-request-pull.sh index 5917773..fd95bea 100755 --- a/git-request-pull.sh +++ b/git-request-pull.sh @@ -28,13 +28,13 @@ headrev=`git rev-parse --verify "$head"^0` || exit merge_base=`git merge-base $baserev $headrev` || die "fatal: No commits in common between $base and $head" -url=$(get_remote_url "$url") branch=$(git ls-remote "$url" \ | sed -n -e "/^$headrev refs.heads./{ s/^.* refs.heads.// p q }") +url=$(get_remote_url "$url") if [ -z "$branch" ]; then echo "warn: No branch of $url is at:" >&2 git log --max-count=1 --pretty='tformat:warn: %h: %s' $headrev >&2