request-pull: do not emit "tag" before the tagname
authorJunio C Hamano <gitster@pobox.com>
Mon, 19 Dec 2011 19:59:57 +0000 (11:59 -0800)
committerJunio C Hamano <gitster@pobox.com>
Mon, 19 Dec 2011 19:59:57 +0000 (11:59 -0800)
The whole point of the recent update to allow "git pull $url $tagname" is
so that the integrator does not have to store the (signed) tag that is
used to convey authenticity to be recorded in the resulting merge in the
local repository's tag namespace.  Asking for a merge be made with "git
pull $url tag $tagname" defeats it.

Note that the request can become ambiguous if the requestor has a branch
with the same name as the tag, but that is not a new problem limited to
pulling. I wouldn't mind if somebody wants to add disambiguation to the
find_matching_ref logic in the script as a separate patch, though.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-request-pull.sh
t/t5150-request-pull.sh

index 7b5c777f0b137d9050dfed02eebe78f1a2ebd6c9..d7ba1178ae75019aba44f78d6cabd775a84ad526 100755 (executable)
@@ -63,10 +63,8 @@ die "fatal: No commits in common between $base and $head"
 find_matching_ref='
        sub abbr {
                my $ref = shift;
-               if ($ref =~ s|refs/heads/||) {
+               if ($ref =~ s|refs/heads/|| || $ref =~ s|refs/tags/||) {
                        return $ref;
-               } elsif ($ref =~ s|refs/tags/||) {
-                       return "tag $ref";
                } else {
                        return $ref;
                }
index aec842fa33707308c24c340eca7367e8aaf5c20f..da25bc2d1fb3a68b1d29b1a5b3f5d18f6c0ffdca 100755 (executable)
@@ -180,7 +180,7 @@ test_expect_success 'request names an appropriate branch' '
                read branch
        } <digest &&
        {
-               test "$branch" = tag--full ||
+               test "$branch" = full ||
                test "$branch" = master ||
                test "$branch" = for-upstream
        }