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?