Re: [PATCH] setup: warn if extensions exist on old format
From: Derrick Stolee <hidden>
Date: 2020-07-13 19:41:25
Subsystem:
the rest · Maintainer:
Linus Torvalds
On 7/13/2020 3:34 PM, Taylor Blau wrote:
s/upgrae/upgrade s/ocnfigured/configured
Oh man, what was going on with me when I was typing this message. Thanks for the thorough inspection.
quoted
diff --git a/setup.c b/setup.c index eb066db6d8..6ff6c54d39 100644 --- a/setup.c +++ b/setup.c@@ -542,6 +542,11 @@ static int check_repository_format_gently(const char *gitdir, struct repository_ } } + if (candidate->version == 0 && candidate->has_extensions) { + warning(_("some extensions are enabled, but core.repositoryFormatVersion=0")); + warning(_("if you intended to use extensions, run 'git config core.repositoryFormatVersion 1'")); + } + return 0; }diff --git a/t/t1091-sparse-checkout-builtin.sh b/t/t1091-sparse-checkout-builtin.sh index 88cdde255c..d249428f44 100755 --- a/t/t1091-sparse-checkout-builtin.sh +++ b/t/t1091-sparse-checkout-builtin.sh@@ -68,6 +68,15 @@ test_expect_success 'git sparse-checkout init' ' check_files repo a ' +test_expect_success 'warning about core.repositoryFormatVersion' ' + test_when_finished git -C repo config core.repositoryFormatVersion 1 && + git -C repo status 2>err && + test_must_be_empty err && + git -C repo config --local core.repositoryFormatVersion 0 &&I don't think it's that difficult to see that this patch is correct, but it might be worth testing this for the case that 'core.repositoryFormatVersion' is unset, too.
You were absolutely right to check this, since this diff causes the test to fail:
diff --git a/t/t1091-sparse-checkout-builtin.sh b/t/t1091-sparse-checkout-builtin.sh
index d249428f44..b5de141292 100755
--- a/t/t1091-sparse-checkout-builtin.sh
+++ b/t/t1091-sparse-checkout-builtin.sh@@ -74,6 +74,9 @@ test_expect_success 'warning about core.repositoryFormatVersion' ' test_must_be_empty err && git -C repo config --local core.repositoryFormatVersion 0 && git -C repo status 2>err && + test_i18ngrep "some extensions are enabled, but core.repositoryFormatVersion=0" err && + git -C repo config --local --unset core.repositoryFormatVersion 0 && + git -C repo status 2>err && test_i18ngrep "some extensions are enabled, but core.repositoryFormatVersion=0" err '
I'll investigate why the "unset" case is different than the "0" case. Hopefully the "should we do this?" question can continue being discussed while I work on a v2. Thanks, -Stolee