From: Junio C Hamano Date: Wed, 17 May 2023 21:48:39 GMT Subject: Re: [PATCH v3 0/1] Fix empty SHA-256 clones with v0 and v1 Message-ID: In-Reply-To: <20230517192443.1149190-1-sandals@crustytoothpaste.net> "brian m. carlson" writes: > We recently fixed empty clones with SHA-256 over protocol v2 by > honouring the hash algorithm specified even when no refs are present. > However, in doing so, we made it impossible to set up a v0 or v1 > repository by cloning from an empty SHA-256 repository. In doing so, we > also broke the Git LFS testsuite for SHA-256 repositories. > > This series introduces the dummy `capabilities^{}` entry for fetches and > clones from an empty repository for v0 and v1, just as we do for clones. > This is already supported by older versions of Git, as well as libgit2, > dulwich, and JGit. > > Changes since v2: > * Move advertisement of fake capabilities ref to a separate function to > avoid an extra strcmp. We want this in -rc2 if not -rc1 for the upcoming release, right? I've read the patch again and it all looked sensible. Thanks. > Changes since v1: > * Drop patch to honour GIT_DEFAULT_HASH > * Support all requests, not just HTTP. > * Add more tests. > * Fix NULL pointer dereference. > > brian m. carlson (1): > upload-pack: advertise capabilities when cloning empty repos > > t/t5551-http-fetch-smart.sh | 27 +++++++++++++++++++++++++++ > t/t5700-protocol-v1.sh | 31 +++++++++++++++++++++++++++++-- > upload-pack.c | 22 +++++++++++++++++----- > 3 files changed, 73 insertions(+), 7 deletions(-)