On 2023-04-26 at 21:14:37, Junio C Hamano wrote: > "brian m. carlson" writes: > > > From: "brian m. carlson" > > > > When cloning an empty repository, the HTTP protocol version 0 currently > > offers nothing but the header and flush packets for the /info/refs > > endpoint. This means that no capabilities are provided, so the client > > side doesn't know what capabilities are present. > > > > However, this does pose a problem when working with SHA-256 > > repositories, since we use the capabilities to know the remote side's > > object format (hash algorithm). It used to be possible to set the > > correct algorithm with `GIT_DEFAULT_HASH` (which is what the Git LFS > > testsuite did), but this no longer works as of 8b214c2e9d ("clone: > > "this no longer works as of" -> "this was a mistake and was fixed by". I tend to disagree. While I agree that change is valuable because it fixes v2, which we want, it does cause a change in user-visible behaviour, which broke the Git LFS testsuite. Whether we like things working that way or not, clearly there were people relying on it. Fortunately, in that case, Git LFS can just enable protocol v2 and things work again, but I think "this no longer works" is accurate and more neutral, and addresses the issue. We wouldn't have to deal with that issue if we could gracefully handle git clone --local with older versions of the protocol, but one of the tests fails when we do that. I'll take some more time to see if I can come up with a nice way to gracefully handle that, and if so, I'll send a v2. -- brian m. carlson (he/him or they/them) Toronto, Ontario, CA