t: support GIT_TEST_WRITE_REV_INDEX

Add a new option that unconditionally enables the pack.writeReverseIndex
setting in order to run the whole test suite in a mode that generates
on-disk reverse indexes. Additionally, enable this mode in the second
run of tests under linux-gcc in 'ci/run-build-and-tests.sh'.

Once on-disk reverse indexes are proven out over several releases, we
can change the default value of that configuration to 'true', and drop
this patch.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Taylor Blau 2021-01-25 18:37:42 -05:00 committed by Junio C Hamano
parent 35a8a3547a
commit e8c58f894b
5 changed files with 13 additions and 1 deletions

View File

@ -1748,7 +1748,10 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
if (prefix && chdir(prefix)) if (prefix && chdir(prefix))
die(_("Cannot come back to cwd")); die(_("Cannot come back to cwd"));
rev_index = !!(opts.flags & (WRITE_REV_VERIFY | WRITE_REV)); if (git_env_bool(GIT_TEST_WRITE_REV_INDEX, 0))
rev_index = 1;
else
rev_index = !!(opts.flags & (WRITE_REV_VERIFY | WRITE_REV));
for (i = 1; i < argc; i++) { for (i = 1; i < argc; i++) {
const char *arg = argv[i]; const char *arg = argv[i];

View File

@ -3601,6 +3601,8 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
reset_pack_idx_option(&pack_idx_opts); reset_pack_idx_option(&pack_idx_opts);
git_config(git_pack_config, NULL); git_config(git_pack_config, NULL);
if (git_env_bool(GIT_TEST_WRITE_REV_INDEX, 0))
pack_idx_opts.flags |= WRITE_REV;
progress = isatty(2); progress = isatty(2);
argc = parse_options(argc, argv, prefix, pack_objects_options, argc = parse_options(argc, argv, prefix, pack_objects_options,

View File

@ -24,6 +24,7 @@ linux-gcc)
export GIT_TEST_MULTI_PACK_INDEX=1 export GIT_TEST_MULTI_PACK_INDEX=1
export GIT_TEST_ADD_I_USE_BUILTIN=1 export GIT_TEST_ADD_I_USE_BUILTIN=1
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
export GIT_TEST_WRITE_REV_INDEX=1
make test make test
;; ;;
linux-clang) linux-clang)

View File

@ -16,9 +16,12 @@
* can be found * can be found
*/ */
#define RIDX_SIGNATURE 0x52494458 /* "RIDX" */ #define RIDX_SIGNATURE 0x52494458 /* "RIDX" */
#define RIDX_VERSION 1 #define RIDX_VERSION 1
#define GIT_TEST_WRITE_REV_INDEX "GIT_TEST_WRITE_REV_INDEX"
struct packed_git; struct packed_git;
/* /*

View File

@ -439,6 +439,9 @@ GIT_TEST_DEFAULT_HASH=<hash-algo> specifies which hash algorithm to
use in the test scripts. Recognized values for <hash-algo> are "sha1" use in the test scripts. Recognized values for <hash-algo> are "sha1"
and "sha256". and "sha256".
GIT_TEST_WRITE_REV_INDEX=<boolean>, when true enables the
'pack.writeReverseIndex' setting.
Naming Tests Naming Tests
------------ ------------