Nicolas Pitre <nico@xxxxxxx> writes: > On Thu, 21 Dec 2006, Junio C Hamano wrote: > >> Nicolas Pitre <nico@xxxxxxx> writes: >> >> > $ git pull origin/next >> > fatal: The remote end hung up unexpectedly >> > Cannot get the repository state from git://git.kernel.org/pub/scm/git/git.git/next >> > >> > [ WTF? Where that ...pub/scm/git/git.git/next comes from? Hmmm... ] >> >> This comes from ancient request by Linus to allow: >> >> $ cat .git/remotes/jgarzik >> URL: master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/ >> $ git pull jgarzik/misc-2.6 >> >> See http://article.gmane.org/gmane.comp.version-control.git/6181 >> for the full text. >> >> Personally I thought this was confusing when I implemented it >> the first time, and I still find it confusing. >> >> I suspect nobody uses it. I am all for removing this "URL >> prefix shorthand" feature in v1.5.0. > > Please do. I'm sure Linus can find a better way now. Well, "request" was very inprecise word -- I should have said "suggestion". But I think I agree. Seconds? Thirds? -- >8 -- [PATCH] Do not support "partial URL shorthand" anymore. We used to support specifying the top part of remote URL in remotes and use that as a short-hand for the URL. $ cat .git/remotes/jgarzik URL: git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/ $ git pull jgarzik/misc-2.6 This is confusing when somebody attempts to do this: $ git pull origin/foo which is not syntactically correct (unless you have origin/foo.git repository) and should fail, but it resulted in a mysterious access to the 'foo' subdirectory of the origin repository. Which was what it was designed to do, but because this is an oddball "feature" I suspect nobody uses, let's remove it. Signed-off-by: Junio C Hamano <junkio@xxxxxxx> --- git-parse-remote.sh | 34 +++++++--------------------------- 1 files changed, 7 insertions(+), 27 deletions(-) diff --git a/git-parse-remote.sh b/git-parse-remote.sh index b163d22..aaef861 100755 --- a/git-parse-remote.sh +++ b/git-parse-remote.sh @@ -7,18 +7,7 @@ GIT_DIR=$(git-rev-parse --git-dir 2>/dev/null) || :; get_data_source () { case "$1" in */*) - # Not so fast. This could be the partial URL shorthand... - token=$(expr "z$1" : 'z\([^/]*\)/') - remainder=$(expr "z$1" : 'z[^/]*/\(.*\)') - if test "$(git-repo-config --get "remote.$token.url")" - then - echo config-partial - elif test -f "$GIT_DIR/branches/$token" - then - echo branches-partial - else - echo '' - fi + echo '' ;; *) if test "$(git-repo-config --get "remote.$1.url")" @@ -40,12 +29,7 @@ get_remote_url () { data_source=$(get_data_source "$1") case "$data_source" in '') - echo "$1" ;; - config-partial) - token=$(expr "z$1" : 'z\([^/]*\)/') - remainder=$(expr "z$1" : 'z[^/]*/\(.*\)') - url=$(git-repo-config --get "remote.$token.url") - echo "$url/$remainder" + echo "$1" ;; config) git-repo-config --get "remote.$1.url" @@ -54,14 +38,10 @@ get_remote_url () { sed -ne '/^URL: */{ s///p q - }' "$GIT_DIR/remotes/$1" ;; + }' "$GIT_DIR/remotes/$1" + ;; branches) - sed -e 's/#.*//' "$GIT_DIR/branches/$1" ;; - branches-partial) - token=$(expr "z$1" : 'z\([^/]*\)/') - remainder=$(expr "z$1" : 'z[^/]*/\(.*\)') - url=$(sed -e 's/#.*//' "$GIT_DIR/branches/$token") - echo "$url/$remainder" + sed -e 's/#.*//' "$GIT_DIR/branches/$1" ;; *) die "internal error: get-remote-url $1" ;; @@ -77,7 +57,7 @@ get_default_remote () { get_remote_default_refs_for_push () { data_source=$(get_data_source "$1") case "$data_source" in - '' | config-partial | branches | branches-partial) + '' | branches) ;; # no default push mapping, just send matching refs. config) git-repo-config --get-all "remote.$1.push" ;; @@ -196,7 +176,7 @@ canon_refs_list_for_fetch () { get_remote_default_refs_for_fetch () { data_source=$(get_data_source "$1") case "$data_source" in - '' | config-partial | branches-partial) + '') echo "HEAD:" ;; config) canon_refs_list_for_fetch -d "$1" \ -- 1.4.4.3.ge228b - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html