Subject: Re: regression: request-pull with signed tag lacks tags/ in master

From: Junio C Hamano <[email-masked]>
Date: Thu, 15 May 2014 12:13:18 -0700

Junio C Hamano <[email-masked]> writes:

> "Michael S. Tsirkin" <[email-masked]> writes:
>
>> looks like pull requests with signed git got broken in git master:
>>
>> [mst@robin qemu]$ /usr/bin/git --version
>> git version 1.8.3.1
>> [mst@robin qemu]$ git --version
>> git version 2.0.0.rc1.18.gac53fc6.dirty
>> [mst@robin qemu]$ 
>> [mst@robin qemu]$ /usr/bin/git request-pull origin/master git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git for_upstream |grep git.kernel.org
>>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>>
>>
>> [mst@robin qemu]$ git request-pull origin/master git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git for_upstream |grep git.kernel.org
>>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git for_upstream
>>
>> this for_upstream syntax is a problem because it does not work
>> for older git clients who might get this request.
>>
>> Didn't bisect yet - anyone knows what broke this?
>
> Linus ;-)  The series that ends with ec44507, I think.

My reading of the earlier parts of the series is that Linus wanted
us never dwim "for-upstream" to "tags/for-upstream" or any other ref
that happens to point at the same commit as for-upstream you have.
The changes done for that purpose covered various cases a bit too
widely, and "request-pull ... tags/for_upstream" were incorrectly
stripped to a request to pull "for_upstream", which was fixed by
5aae66bd (request-pull: resurrect "pretty refname" feature,
2014-02-25).

But that fix does not resurrect the dwimming forbid by the earlier
parts of the series to turn "for_upstream" into "tags/for_upstream".

What would you get if you do this?

    $ git request-pull origin/master \
      git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git \
      tags/for_upstream | grep git.kernel.org