t/helper: stop using `the_index`

Convert test-helper tools to use `the_repository->index` instead of
`the_index`.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Patrick Steinhardt 2024-04-18 14:14:09 +02:00 committed by Junio C Hamano
parent 21306a098c
commit 319ba14407
8 changed files with 43 additions and 51 deletions

View File

@ -1,4 +1,3 @@
#define USE_THE_INDEX_VARIABLE
#include "test-tool.h" #include "test-tool.h"
#include "gettext.h" #include "gettext.h"
#include "hex.h" #include "hex.h"
@ -38,29 +37,29 @@ int cmd__cache_tree(int argc, const char **argv)
if (repo_read_index(the_repository) < 0) if (repo_read_index(the_repository) < 0)
die(_("unable to read index file")); die(_("unable to read index file"));


oidcpy(&oid, &the_index.cache_tree->oid); oidcpy(&oid, &the_repository->index->cache_tree->oid);
tree = parse_tree_indirect(&oid); tree = parse_tree_indirect(&oid);
if (!tree) if (!tree)
die(_("not a tree object: %s"), oid_to_hex(&oid)); die(_("not a tree object: %s"), oid_to_hex(&oid));


if (empty) { if (empty) {
/* clear the cache tree & allocate a new one */ /* clear the cache tree & allocate a new one */
cache_tree_free(&the_index.cache_tree); cache_tree_free(&the_repository->index->cache_tree);
the_index.cache_tree = cache_tree(); the_repository->index->cache_tree = cache_tree();
} else if (invalidate_qty) { } else if (invalidate_qty) {
/* invalidate the specified number of unique paths */ /* invalidate the specified number of unique paths */
float f_interval = (float)the_index.cache_nr / invalidate_qty; float f_interval = (float)the_repository->index->cache_nr / invalidate_qty;
int interval = f_interval < 1.0 ? 1 : (int)f_interval; int interval = f_interval < 1.0 ? 1 : (int)f_interval;
for (i = 0; i < invalidate_qty && i * interval < the_index.cache_nr; i++) for (i = 0; i < invalidate_qty && i * interval < the_repository->index->cache_nr; i++)
cache_tree_invalidate_path(&the_index, the_index.cache[i * interval]->name); cache_tree_invalidate_path(the_repository->index, the_repository->index->cache[i * interval]->name);
} }


if (argc != 1) if (argc != 1)
usage_with_options(test_cache_tree_usage, options); usage_with_options(test_cache_tree_usage, options);
else if (!strcmp(argv[0], "prime")) else if (!strcmp(argv[0], "prime"))
prime_cache_tree(the_repository, &the_index, tree); prime_cache_tree(the_repository, the_repository->index, tree);
else if (!strcmp(argv[0], "update")) else if (!strcmp(argv[0], "update"))
cache_tree_update(&the_index, WRITE_TREE_SILENT | WRITE_TREE_REPAIR); cache_tree_update(the_repository->index, WRITE_TREE_SILENT | WRITE_TREE_REPAIR);
/* use "control" subcommand to specify no-op */ /* use "control" subcommand to specify no-op */
else if (!!strcmp(argv[0], "control")) else if (!!strcmp(argv[0], "control"))
die(_("Unhandled subcommand '%s'"), argv[0]); die(_("Unhandled subcommand '%s'"), argv[0]);

View File

@ -1,4 +1,3 @@
#define USE_THE_INDEX_VARIABLE
#include "test-tool.h" #include "test-tool.h"
#include "hash.h" #include "hash.h"
#include "hex.h" #include "hex.h"
@ -68,10 +67,10 @@ int cmd__dump_cache_tree(int ac UNUSED, const char **av UNUSED)
setup_git_directory(); setup_git_directory();
if (repo_read_index(the_repository) < 0) if (repo_read_index(the_repository) < 0)
die("unable to read index file"); die("unable to read index file");
istate = the_index; istate = *the_repository->index;
istate.cache_tree = another; istate.cache_tree = another;
cache_tree_update(&istate, WRITE_TREE_DRY_RUN); cache_tree_update(&istate, WRITE_TREE_DRY_RUN);
ret = dump_cache_tree(the_index.cache_tree, another, ""); ret = dump_cache_tree(the_repository->index->cache_tree, another, "");
cache_tree_free(&another); cache_tree_free(&another);


return ret; return ret;

View File

@ -1,4 +1,3 @@
#define USE_THE_INDEX_VARIABLE
#include "test-tool.h" #include "test-tool.h"
#include "hex.h" #include "hex.h"
#include "read-cache-ll.h" #include "read-cache-ll.h"
@ -19,16 +18,16 @@ int cmd__dump_split_index(int ac UNUSED, const char **av)


setup_git_directory(); setup_git_directory();


do_read_index(&the_index, av[1], 1); do_read_index(the_repository->index, av[1], 1);
printf("own %s\n", oid_to_hex(&the_index.oid)); printf("own %s\n", oid_to_hex(&the_repository->index->oid));
si = the_index.split_index; si = the_repository->index->split_index;
if (!si) { if (!si) {
printf("not a split index\n"); printf("not a split index\n");
return 0; return 0;
} }
printf("base %s\n", oid_to_hex(&si->base_oid)); printf("base %s\n", oid_to_hex(&si->base_oid));
for (i = 0; i < the_index.cache_nr; i++) { for (i = 0; i < the_repository->index->cache_nr; i++) {
struct cache_entry *ce = the_index.cache[i]; struct cache_entry *ce = the_repository->index->cache[i];
printf("%06o %s %d\t%s\n", ce->ce_mode, printf("%06o %s %d\t%s\n", ce->ce_mode,
oid_to_hex(&ce->oid), ce_stage(ce), ce->name); oid_to_hex(&ce->oid), ce_stage(ce), ce->name);
} }

View File

@ -1,4 +1,3 @@
#define USE_THE_INDEX_VARIABLE
#include "test-tool.h" #include "test-tool.h"
#include "dir.h" #include "dir.h"
#include "hex.h" #include "hex.h"
@ -56,7 +55,7 @@ int cmd__dump_untracked_cache(int ac UNUSED, const char **av UNUSED)
setup_git_directory(); setup_git_directory();
if (repo_read_index(the_repository) < 0) if (repo_read_index(the_repository) < 0)
die("unable to read index file"); die("unable to read index file");
uc = the_index.untracked; uc = the_repository->index->untracked;
if (!uc) { if (!uc) {
printf("no untracked cache\n"); printf("no untracked cache\n");
return 0; return 0;

View File

@ -1,4 +1,3 @@
#define USE_THE_INDEX_VARIABLE
#include "test-tool.h" #include "test-tool.h"
#include "environment.h" #include "environment.h"
#include "name-hash.h" #include "name-hash.h"
@ -40,22 +39,22 @@ static void dump_run(void)


repo_read_index(the_repository); repo_read_index(the_repository);
if (single) { if (single) {
test_lazy_init_name_hash(&the_index, 0); test_lazy_init_name_hash(the_repository->index, 0);
} else { } else {
int nr_threads_used = test_lazy_init_name_hash(&the_index, 1); int nr_threads_used = test_lazy_init_name_hash(the_repository->index, 1);
if (!nr_threads_used) if (!nr_threads_used)
die("non-threaded code path used"); die("non-threaded code path used");
} }


hashmap_for_each_entry(&the_index.dir_hash, &iter_dir, dir, hashmap_for_each_entry(&the_repository->index->dir_hash, &iter_dir, dir,
ent /* member name */) ent /* member name */)
printf("dir %08x %7d %s\n", dir->ent.hash, dir->nr, dir->name); printf("dir %08x %7d %s\n", dir->ent.hash, dir->nr, dir->name);


hashmap_for_each_entry(&the_index.name_hash, &iter_cache, ce, hashmap_for_each_entry(&the_repository->index->name_hash, &iter_cache, ce,
ent /* member name */) ent /* member name */)
printf("name %08x %s\n", ce->ent.hash, ce->name); printf("name %08x %s\n", ce->ent.hash, ce->name);


discard_index(&the_index); discard_index(the_repository->index);
} }


/* /*
@ -74,7 +73,7 @@ static uint64_t time_runs(int try_threaded)
t0 = getnanotime(); t0 = getnanotime();
repo_read_index(the_repository); repo_read_index(the_repository);
t1 = getnanotime(); t1 = getnanotime();
nr_threads_used = test_lazy_init_name_hash(&the_index, try_threaded); nr_threads_used = test_lazy_init_name_hash(the_repository->index, try_threaded);
t2 = getnanotime(); t2 = getnanotime();


sum += (t2 - t1); sum += (t2 - t1);
@ -86,16 +85,16 @@ static uint64_t time_runs(int try_threaded)
printf("%f %f %d multi %d\n", printf("%f %f %d multi %d\n",
((double)(t1 - t0))/1000000000, ((double)(t1 - t0))/1000000000,
((double)(t2 - t1))/1000000000, ((double)(t2 - t1))/1000000000,
the_index.cache_nr, the_repository->index->cache_nr,
nr_threads_used); nr_threads_used);
else else
printf("%f %f %d single\n", printf("%f %f %d single\n",
((double)(t1 - t0))/1000000000, ((double)(t1 - t0))/1000000000,
((double)(t2 - t1))/1000000000, ((double)(t2 - t1))/1000000000,
the_index.cache_nr); the_repository->index->cache_nr);
fflush(stdout); fflush(stdout);


discard_index(&the_index); discard_index(the_repository->index);
} }


avg = sum / count; avg = sum / count;
@ -120,8 +119,8 @@ static void analyze_run(void)
int nr; int nr;


repo_read_index(the_repository); repo_read_index(the_repository);
cache_nr_limit = the_index.cache_nr; cache_nr_limit = the_repository->index->cache_nr;
discard_index(&the_index); discard_index(the_repository->index);


nr = analyze; nr = analyze;
while (1) { while (1) {
@ -135,22 +134,22 @@ static void analyze_run(void)


for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
repo_read_index(the_repository); repo_read_index(the_repository);
the_index.cache_nr = nr; /* cheap truncate of index */ the_repository->index->cache_nr = nr; /* cheap truncate of index */
t1s = getnanotime(); t1s = getnanotime();
test_lazy_init_name_hash(&the_index, 0); test_lazy_init_name_hash(the_repository->index, 0);
t2s = getnanotime(); t2s = getnanotime();
sum_single += (t2s - t1s); sum_single += (t2s - t1s);
the_index.cache_nr = cache_nr_limit; the_repository->index->cache_nr = cache_nr_limit;
discard_index(&the_index); discard_index(the_repository->index);


repo_read_index(the_repository); repo_read_index(the_repository);
the_index.cache_nr = nr; /* cheap truncate of index */ the_repository->index->cache_nr = nr; /* cheap truncate of index */
t1m = getnanotime(); t1m = getnanotime();
nr_threads_used = test_lazy_init_name_hash(&the_index, 1); nr_threads_used = test_lazy_init_name_hash(the_repository->index, 1);
t2m = getnanotime(); t2m = getnanotime();
sum_multi += (t2m - t1m); sum_multi += (t2m - t1m);
the_index.cache_nr = cache_nr_limit; the_repository->index->cache_nr = cache_nr_limit;
discard_index(&the_index); discard_index(the_repository->index);


if (!nr_threads_used) if (!nr_threads_used)
printf(" [size %8d] [single %f] non-threaded code path used\n", printf(" [size %8d] [single %f] non-threaded code path used\n",

View File

@ -1,4 +1,3 @@
#define USE_THE_INDEX_VARIABLE
#include "test-tool.h" #include "test-tool.h"
#include "config.h" #include "config.h"
#include "read-cache-ll.h" #include "read-cache-ll.h"
@ -27,16 +26,16 @@ int cmd__read_cache(int argc, const char **argv)
if (name) { if (name) {
int pos; int pos;


refresh_index(&the_index, REFRESH_QUIET, refresh_index(the_repository->index, REFRESH_QUIET,
NULL, NULL, NULL); NULL, NULL, NULL);
pos = index_name_pos(&the_index, name, strlen(name)); pos = index_name_pos(the_repository->index, name, strlen(name));
if (pos < 0) if (pos < 0)
die("%s not in index", name); die("%s not in index", name);
printf("%s is%s up to date\n", name, printf("%s is%s up to date\n", name,
ce_uptodate(the_index.cache[pos]) ? "" : " not"); ce_uptodate(the_repository->index->cache[pos]) ? "" : " not");
write_file(name, "%d\n", i); write_file(name, "%d\n", i);
} }
discard_index(&the_index); discard_index(the_repository->index);
} }
return 0; return 0;
} }

View File

@ -1,4 +1,3 @@
#define USE_THE_INDEX_VARIABLE
#include "test-tool.h" #include "test-tool.h"
#include "lockfile.h" #include "lockfile.h"
#include "read-cache-ll.h" #include "read-cache-ll.h"
@ -15,9 +14,9 @@ int cmd__scrap_cache_tree(int ac UNUSED, const char **av UNUSED)
repo_hold_locked_index(the_repository, &index_lock, LOCK_DIE_ON_ERROR); repo_hold_locked_index(the_repository, &index_lock, LOCK_DIE_ON_ERROR);
if (repo_read_index(the_repository) < 0) if (repo_read_index(the_repository) < 0)
die("unable to read index file"); die("unable to read index file");
cache_tree_free(&the_index.cache_tree); cache_tree_free(&the_repository->index->cache_tree);
the_index.cache_tree = NULL; the_repository->index->cache_tree = NULL;
if (write_locked_index(&the_index, &index_lock, COMMIT_LOCK)) if (write_locked_index(the_repository->index, &index_lock, COMMIT_LOCK))
die("unable to write index file"); die("unable to write index file");
return 0; return 0;
} }

View File

@ -1,4 +1,3 @@
#define USE_THE_INDEX_VARIABLE
#include "test-tool.h" #include "test-tool.h"
#include "lockfile.h" #include "lockfile.h"
#include "read-cache-ll.h" #include "read-cache-ll.h"
@ -16,7 +15,7 @@ int cmd__write_cache(int argc, const char **argv)
for (i = 0; i < cnt; i++) { for (i = 0; i < cnt; i++) {
repo_hold_locked_index(the_repository, &index_lock, repo_hold_locked_index(the_repository, &index_lock,
LOCK_DIE_ON_ERROR); LOCK_DIE_ON_ERROR);
if (write_locked_index(&the_index, &index_lock, COMMIT_LOCK)) if (write_locked_index(the_repository->index, &index_lock, COMMIT_LOCK))
die("unable to write index file"); die("unable to write index file");
} }