diff options
author | Junio C Hamano <junkio@cox.net> | 2005-08-30 01:08:24 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-08-30 01:08:24 -0700 |
commit | 61f01a5b773915402da37a34e706db56fe90b776 (patch) | |
tree | ce9b5a4124cd4829c6113131e0bad449d682432a /git-parse-remote-script | |
parent | 51017101c7a308745ba3c04944457f1dc6a55780 (diff) | |
download | git-61f01a5b773915402da37a34e706db56fe90b776.tar.gz git-61f01a5b773915402da37a34e706db56fe90b776.tar.xz |
parse-remote: trivial fix to allow refs/{heads,tags}/ spelled easier.
Earlier we always prefixed refs/heads to the token given to "git fetch"
(and "git pull") as refspec. This was a mistake. Allow them to be
spelled like "master:refs/tags/paulus" to mean "I want to fetch the
master there and store it as my local "paulus" tag.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-parse-remote-script')
-rwxr-xr-x | git-parse-remote-script | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/git-parse-remote-script b/git-parse-remote-script index cf3788425..43b436803 100755 --- a/git-parse-remote-script +++ b/git-parse-remote-script @@ -81,10 +81,14 @@ canon_refs_list_for_fetch () { local=$(expr "$ref" : '[^:]*:\(.*\)') case "$remote" in '') remote=HEAD ;; + refs/heads/* | refs/tags/*) ;; + heads/* | tags/* ) remote="refs/$remote" ;; *) remote="refs/heads/$remote" ;; esac case "$local" in '') local= ;; + refs/heads/* | refs/tags/*) ;; + heads/* | tags/* ) local="refs/$local" ;; *) local="refs/heads/$local" ;; esac echo "${force}${remote}:${local}" |