From: Petr Baudis Date: Mon, 28 Nov 2005 19:15:46 GMT Subject: Re: lost again on syntax change - local repository? Message-ID: <20051128191546.GT22159@pasky.or.cz> In-Reply-To: <868xv86dam.fsf@blue.stonehenge.com> Dear diary, on Mon, Nov 28, 2005 at 03:46:09PM CET, I got a letter where "Randal L. Schwartz" said that... > However, I get this: > > localhost:..git/Play/local.git % echo "/Users/merlyn/Projects/git/Play/remote.git" | grep -q ":" > localhost:..git/Play/local.git % echo $status > 1 > > So, perhaps the "bash" on this system is broken for that elif chain? > > localhost:..git/Play/local.git % bash --version > GNU bash, version 2.05b.0(1)-release (powerpc-apple-darwin8.0) > Copyright (C) 2002 Free Software Foundation, Inc. > > Gah. Yet Another Hidden Dependency. Perplexing. Can't reproduce it with bash-2.05b either. Could you try the following, please? diff --git a/cg-push b/cg-push index 1d59422..323ef26 100755 --- a/cg-push +++ b/cg-push @@ -56,13 +56,13 @@ if echo "$uri" | grep -q '#'; then uri=$(echo $uri | cut -d '#' -f 1) fi -if echo "$uri" | grep -q "^http://"; then +if [ "${uri#http://}" != "$uri" ]; then die "pushing over HTTP not supported yet" -elif echo "$uri" | grep -q "^git+ssh://"; then +elif [ "${uri#git+ssh://}" != "$uri" ]; then send_pack_update "$name" "$(echo "$uri" | sed 's#^git+ssh://\([^/]*\)\(/.*\)$#\1:\2#')" $_git_head$sprembranch "${tags[@]}" -elif echo "$uri" | grep -q "^rsync://"; then +elif [ "${uri#rsync://}" != "$uri" ]; then die "pushing over rsync not supported" -elif echo "$uri" | grep -q ":"; then +elif [ "${uri#*:}" != "$uri" ]; then echo "WARNING: I guessed the host:path syntax was used and fell back to the git+ssh protocol." echo "WARNING: The host:path syntax is evil because it is implicit. Please just use a URI." send_pack_update "$name" "$uri" $_git_head$sprembranch "${tags[@]}" -- Petr "Pasky" Baudis Stuff: http://pasky.or.cz/ VI has two modes: the one in which it beeps and the one in which it doesn't.