On Sat, Feb 27, 2016 at 4:19 PM, Jeff King <p...@peff.net> wrote:
> On Sat, Feb 27, 2016 at 02:07:12PM -0500, Jeff King wrote:
>
>> We expect whoever creates the "sought" list to fill in the name and sha1
>> as appropriate. If that is not happening in some code path, then yeah,
>> filter_refs() will not work as intended. But I think the solution there
>> would be to fix the caller to set up the "struct ref" more completely.
>>
>> Gabriel, did this come from a bug you noticed in practice, or was it
>> just an intended cleanup?

I was experimenting with uploadpack.hiderefs and uploadpack.allowTipSHA1InWant
and couldn't get

        git fetch-pack $remote <sha1>

to work, and I traced the failure until that check. Reading more, I now see
that currently it requires

       git fetch-pack $remote "<sha1> <sha1>"

to do what I want.

>
> I double-checked that the code for git-fetch does so. It's in
> get_fetch_map()
>
>     if (refspec->exact_sha1) {
>             ref_map = alloc_ref(name);
>             get_oid_hex(name, &ref_map->old_oid);
>     } else ...
>
> So we should always have old_oid filled in already, and there is no need
> to do so in filter_refs() (and in fact it is wrong, for the degenerate
> example I gave earlier).

git fetch-pack doesn't use these code paths. I'll send a new patch
shortly to allow
bare sha1's in fetch-pack.

>
> -Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to