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. Unlike in v1, we wire this up for all protocols and fix the NULL pointer dereference that would occur in that case, as well as add some more tests. The second patch has been dropped, since it is no longer needed and was not very popular. 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 | 7 ++++++- 3 files changed, 62 insertions(+), 3 deletions(-)