t9500: ensure that algorithm info is preserved in config
When we use a hash algorithm other than SHA-1, it's important to preserve the hash-related values in the config file, but this test overwrites the config file with a new one. Ensure we copy these values properly from the old config to the new one so that the repository can be read if it's using SHA-256. Note that if there is no extensions.objectFormat value set, git config will return unsuccessfully if we try to read it; since this is not an error for us, use test_might_fail. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Reviewed-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
brian m. carlson committed
Jul 29, 2020 at 23:14 UTC
6ff6a6759de3b85b591f334e13b63456804be328
1 file changed
+16
-6
t/t9500-gitweb-standalone-no-errors.sh
+16
-6
@@ -621,12 +621,22 @@ test_expect_success \
621
git config gitweb.snapshot "zip,tgz, tbz2" &&
622
gitweb_run "p=.git;a=tree"'
623
624
-cat >.git/config <<\EOF
625
-# testing noval and alternate separator
626
-[gitweb]
627
- blame
628
- snapshot = zip tgz
629
-EOF
624
+test_expect_success 'setup' '
625
+ version=$(git config core.repositoryformatversion) &&
626
+ algo=$(test_might_fail git config extensions.objectformat) &&
627
+ cat >.git/config <<-\EOF &&
628
+ # testing noval and alternate separator
629
+ [gitweb]
630
+ blame
631
+ snapshot = zip tgz
632
+ EOF
633
+ git config core.repositoryformatversion "$version" &&
634
+ if test -n "$algo"
635
+ then
636
+ git config extensions.objectformat "$algo"
637
+ fi
638
+'
639
+
640
test_expect_success \
641
'config override: tree view, features enabled in repo config (2)' \
642
'gitweb_run "p=.git;a=tree"'