2009/6/9 Santi Béjar <santi@xxxxxxxxxxx>: > 2009/6/9 Junio C Hamano <gitster@xxxxxxxxx>: >> Santi Béjar <santi@xxxxxxxxxxx> writes: >> >>>> git pull --rebase tags v1.6.0 >>> >>> In fact: git pull --rebase remote tags v1.6.0 >>> >>> But this still works because oldremoteref defaults to defaults_merge. >>> So the only behavior change is when a remote branch is >>> rebased/retagged, and you have worst problems then. I think noone used >>> the rebased functionality in this way, so I don't think it is worth to >>> support it. But if someone think it is important I'll do it. >> >> I personally do not think supporting such a form of input is absolutely >> necessary. Even though technically it might be a regression, if it is so >> rare a form, we can simply say "this strange form used to work, but now it >> does not; you can use this form instead to do the same thing", and move >> on. > > OK. > At the end it was a little patch to get this corner case working. Here it is the patch to squash (I'll send later a proper patch mail, with a test). And this additional sentence in the commit log: No behavior changes. The new function behaves like the old code used in "git pull --rebase". diff --git i/git-parse-remote.sh w/git-parse-remote.sh index 8b3ba72..4ac277f 100755 --- i/git-parse-remote.sh +++ w/git-parse-remote.sh @@ -238,8 +238,12 @@ get_remote_merge_branch () { shift # FIXME: It should return the tracking branch # Currently only works with the default mapping - for ref - do + case "$1" in + tag) + [ -n "$2" ] && echo "refs/tags/${ref}" + ;; + *) + ref=$1 case "$ref" in +*) ref=$(expr "z$ref" : 'z+\(.*\)') @@ -251,12 +255,11 @@ get_remote_merge_branch () { '' | HEAD ) remote=HEAD ;; heads/*) remote=${remote#heads/} ;; refs/heads/*) remote=${remote#refs/heads/} ;; - refs/* | tags/* | remotes/* ) break + refs/* | tags/* | remotes/* ) remote= esac - echo "refs/remotes/$repo/$remote" - break - done + [ -n "$remote" ] && echo "refs/remotes/$repo/$remote" + esac ;; esac } (Sorry, if it gets corrupted) Santi -- 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