]> git.ipfire.org Git - thirdparty/git.git/commit - setup.c
repository: allow repository format upgrade with extensions
authorJonathan Nieder <jrnieder@gmail.com>
Thu, 16 Jul 2020 06:28:18 +0000 (23:28 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Jul 2020 16:36:39 +0000 (09:36 -0700)
commit62f2eca6065d0c27b0ea3b7806a590466ea04960
treeeffed1e9c86e1cfc14502ae0afbf15affb11329f
parent11664196ac15b0382793ec0923e56a103e973bc9
repository: allow repository format upgrade with extensions

Now that we officially permit repository extensions in repository
format v0, permit upgrading a repository with extensions from v0 to v1
as well.

For example, this means a repository where the user has set
"extensions.preciousObjects" can use "git fetch --filter=blob:none
origin" to upgrade the repository to use v1 and the partial clone
extension.

To avoid mistakes, continue to forbid repository format upgrades in v0
repositories with an unrecognized extension.  This way, a v0 user
using a misspelled extension field gets a chance to correct the
mistake before updating to the less forgiving v1 format.

While we're here, make the error message for failure to upgrade the
repository format a bit shorter, and present it as an error, not a
warning.

Reported-by: Huan Huan Chen <huanhuanchen@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h
setup.c
t/t0410-partial-clone.sh