Re: ref-in-want does not consider namespace
From: Kim Altintop <hidden>
Date: 2021-07-27 09:12:31
Thanks Jonathan
Your expectation that "want-ref refs/heads/main" should match "refs/namespaces/foo/refs/heads/main" when you run upload-pack with "--namespace=foo" makes sense to me. Just to clarify - does this mean tha 2.31.1 works like you expect?
"ref-prefix" works as expected in the newer version, but not "want-ref". I haven't properly bisected, but the fix seems to coincide with b3970c7, although I'm not sure if that was intentional.
In any case, t5703 should contain a namespace test, but it doesn't seem to.
Yes I noticed that your original patch did contain a test for this.
Would you be able to contribute a patch?
With some handholding, I'd be at least up for giving it a spin :) One thing that is unclear to me is how "hideRefs" is supposed to interact with "want-ref". At the moment, it seems like a client can "want-ref" _any_ ref, even if it is hidden by "hideRefs". It might seem sensible to ignore hidden refs, but then the situation could occur that the effective list of "want-ref"s is empty. If that happens, and the client did not send any "want"s either, "upload-pack" ignores the fetch command altogether and just waits for the next command. In this case, the client can only recover by timing out the connection. So should this be special-cased somehow and result in an error response?