Re: [PATCH] git-fetch.sh printed protocol fix
"Tuncer Ayaz" <tuncer.ayaz@gmail.com> writes:
Show 5 quoted lines
> As a feature I wished for (ftp:// support in git-fetch) was added in 1.4.3
> I tested that feature and found a minor logging issue. The mini-patch
> below fixes that. AFAIK the pattern expansion feature I've used should
> be available in any current /bin/sh. If not we will have to find another
> way to print the protocol part of the used fetch URL.
Yes, we also have supported https:// that way for a long time.
Show 11 quoted lines
> --- git-core-1.4.3.2/git-fetch.sh 2006-10-24 07:29:47.000000000 +0200
> +++ git-core-1.4.3.2.tma/git-fetch.sh 2006-10-25 11:44:34.000000000 +0200
> @@ -310,7 +310,7 @@
> done
> expr "z$head" : "z$_x40\$" >/dev/null ||
> die "Failed to fetch $remote_name from $remote"
> - echo >&2 Fetching "$remote_name from $remote" using http
> + echo >&2 Fetching "$remote_name from $remote" using ${remote%%:*}
> git-http-fetch -v -a "$head" "$remote/" || exit
> ;;
> rsync://*)As you noticed, we stayed away from using ${parameter#word} or ${parameter%word} substitutions so far, to be as compatible with vanilla shells as possible (I know even dash which is pretty much the most minimal supports it -- the syntax is in POSIX). I am a bit reluctant to take this implementation right now. We tend to use colon-form of "expr" for things like this.
It might make sense to do a survey of userbase at some point to see if everybody's shell that works with the current set of scripts understands the substring substitution, and after finding it out switch many invocations of expr to substring substitutions.
For now I'd take the patch but change it to match others to use expr.
Next time around, please sign your patch.
-- >8 --
From: Tuncer Ayaz <tuncer.ayaz@gmail.com>
Date: Wed, 25 Oct 2006 12:03:06 +0200
Subject: [PATCH] git-fetch.sh printed protocol fix
We have supported https:// protocol for some time and in 1.4.3 added ftp:// protocol. The transfer were still reported to be over http.
[jc: Tuncer used substring parameter substitution ${remote%%:*}
but I am deferring it to a later day. We should replace
colon-expr with substring substitution after everybody's shell
can grok it someday, but we are not in a hurry. ]Signed-off-by: Junio C Hamano <junkio@cox.net>
---
git-fetch.sh | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
Show changes to git-fetch.sh +2 −1
diff --git a/git-fetch.sh b/git-fetch.sh
index 79222fb..9eedf8b 100755
--- a/git-fetch.sh
+++ b/git-fetch.sh
@@ -287,6 +287,7 @@ fetch_main () {
# There are transports that can fetch only one head at a time...
case "$remote" in
http://* | https://* | ftp://*)
+ proto=`expr "$remote" : '\([^:]*\):'`
if [ -n "$GIT_SSL_NO_VERIFY" ]; then
curl_extra_args="-k"
fi
@@ -310,7 +311,7 @@ fetch_main () {
done
expr "z$head" : "z$_x40\$" >/dev/null ||
die "Failed to fetch $remote_name from $remote"
- echo >&2 Fetching "$remote_name from $remote" using http
+ echo >&2 "Fetching $remote_name from $remote using $proto"
git-http-fetch -v -a "$head" "$remote/" || exit
;;
rsync://*)
--
1.4.3.2.gc1a4