request-pull: do not emit "tag" before the tagname
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>
Junio C Hamano committed
Dec 19, 2011 at 11:59 UTC
f032d66ddb0cc81807be14c6a9052367df6d1cbc
2 files changed
+2
-4
git-request-pull.sh
+1
-3
@@ -63,10 +63,8 @@ die "fatal: No commits in common between $base and $head"
63
find_matching_ref='
64
sub abbr {
65
my $ref = shift;
66
- if ($ref =~ s|refs/heads/||) {
66
+ if ($ref =~ s|refs/heads/|| || $ref =~ s|refs/tags/||) {
67
return $ref;
68
- } elsif ($ref =~ s|refs/tags/||) {
69
- return "tag $ref";
68
} else {
69
return $ref;
70
}
t/t5150-request-pull.sh
+1
-1
@@ -180,7 +180,7 @@ test_expect_success 'request names an appropriate branch' '
180
read branch
181
} <digest &&
182
{
183
- test "$branch" = tag--full ||
183
+ test "$branch" = full ||
184
test "$branch" = master ||
185
test "$branch" = for-upstream
186
}