Remove "USE_THE_INDEX_COMPATIBILITY_MACROS" and instead pass "the_index" around between the functions in this file. In a subsequent commit we'll libify this, and don't want to use "USE_THE_INDEX_COMPATIBILITY_MACROS" in any more places in the top-level *.c files. Doing this first makes that diff a lot smaller. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> --- builtin/merge-index.c | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/builtin/merge-index.c b/builtin/merge-index.c index 9bffcc5b0f1..c269d76cc8f 100644 --- a/builtin/merge-index.c +++ b/builtin/merge-index.c @@ -1,4 +1,3 @@ -#define USE_THE_INDEX_COMPATIBILITY_MACROS #include "builtin.h" #include "parse-options.h" #include "run-command.h" @@ -7,7 +6,7 @@ static const char *pgm; static int one_shot, quiet; static int err; -static int merge_entry(int pos, const char *path) +static int merge_entry(struct index_state *istate, int pos, const char *path) { int found; const char *arguments[] = { pgm, "", "", "", path, "", "", "", NULL }; @@ -15,11 +14,11 @@ static int merge_entry(int pos, const char *path) char ownbuf[4][60]; struct child_process cmd = CHILD_PROCESS_INIT; - if (pos >= active_nr) + if (pos >= istate->cache_nr) die(_("'%s' is not in the cache"), path); found = 0; do { - const struct cache_entry *ce = active_cache[pos]; + const struct cache_entry *ce = istate->cache[pos]; int stage = ce_stage(ce); if (strcmp(ce->name, path)) @@ -29,7 +28,7 @@ static int merge_entry(int pos, const char *path) xsnprintf(ownbuf[stage], sizeof(ownbuf[stage]), "%o", ce->ce_mode); arguments[stage] = hexbuf[stage]; arguments[stage + 4] = ownbuf[stage]; - } while (++pos < active_nr); + } while (++pos < istate->cache_nr); if (!found) die(_("'%s' is not in the cache"), path); @@ -46,27 +45,27 @@ static int merge_entry(int pos, const char *path) return found; } -static void merge_one_path(const char *path) +static void merge_one_path(struct index_state *istate, const char *path) { - int pos = cache_name_pos(path, strlen(path)); + int pos = index_name_pos(istate, path, strlen(path)); /* * If it already exists in the cache as stage0, it's * already merged and there is nothing to do. */ if (pos < 0) - merge_entry(-pos-1, path); + merge_entry(istate, -pos-1, path); } -static void merge_all(void) +static void merge_all(struct index_state *istate) { int i; - for (i = 0; i < active_nr; i++) { - const struct cache_entry *ce = active_cache[i]; + for (i = 0; i < istate->cache_nr; i++) { + const struct cache_entry *ce = istate->cache[i]; if (!ce_stage(ce)) continue; - i += merge_entry(i, ce->name)-1; + i += merge_entry(istate, i, ce->name)-1; } } @@ -116,16 +115,16 @@ int cmd_merge_index(int argc, const char **argv, const char *prefix) usage_msg_opt(_("'-a' and '<file>...' are mutually exclusive"), usage, options); - read_cache(); + repo_read_index(the_repository); /* TODO: audit for interaction with sparse-index. */ - ensure_full_index(&the_index); + ensure_full_index(the_repository->index); if (all) - merge_all(); + merge_all(the_repository->index); else for (size_t i = 0; i < argc; i++) - merge_one_path(argv[i]); + merge_one_path(the_repository->index, argv[i]); if (err && !quiet) die(_("merge program failed")); -- 2.38.0.1511.gcdcff1f1dc2