Re: Re* How to generate pull-request with info of signed tag
On Mon, 19 Dec 2011 12:06:55 -0800, Junio C Hamano <gitster@pobox.com> wrote:
Show 56 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
> > Come to think of it, the last patch I sent out on request pull was very
> > wrong....
>
> And this should fix it.
>
> -- >8 --
> Subject: [PATCH] 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>
> ---
> git-request-pull.sh | 4 +---
> t/t5150-request-pull.sh | 2 +-
> 2 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/git-request-pull.sh b/git-request-pull.sh
> index 7b5c777..d7ba117 100755
> --- a/git-request-pull.sh
> +++ b/git-request-pull.sh
> @@ -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;
> }
> diff --git a/t/t5150-request-pull.sh b/t/t5150-request-pull.sh
> index aec842f..da25bc2 100755
> --- a/t/t5150-request-pull.sh
> +++ b/t/t5150-request-pull.sh
> @@ -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
> }Also can we make .git/config remote stanza to have something like below
fetch = +refs/tags/*:refs/tags/abc/*
so that one can do
git fetch t-remote tag-name
and that get stored to abc/tag-name
-aneesh