read-cache API & users: make discard_index() return void

The discard_index() function has not returned non-zero since
7a51ed66f6 (Make on-disk index representation separate from in-core
one, 2008-01-14), but we've had various code in-tree still acting as
though that might be the case.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2022-11-19 14:07:31 +01:00 committed by Junio C Hamano
parent fbc1ed629e
commit 9c5f3ee3b3
6 changed files with 19 additions and 16 deletions

View File

@ -530,8 +530,8 @@ static int get_modified_files(struct repository *r,
struct collection_status s = { 0 };
int i;
if (discard_index(r->index) < 0 ||
repo_read_index_preload(r, ps, 0) < 0)
discard_index(r->index);
if (repo_read_index_preload(r, ps, 0) < 0)
return error(_("could not read index"));
prefix_item_list_clear(files);
@ -1156,8 +1156,8 @@ int run_add_i(struct repository *r, const struct pathspec *ps)
_("staged"), _("unstaged"), _("path"));
opts.list_opts.header = header.buf;
if (discard_index(r->index) < 0 ||
repo_read_index(r) < 0 ||
discard_index(r->index);
if (repo_read_index(r) < 0 ||
repo_refresh_and_write_index(r, REFRESH_QUIET, 0, 1,
NULL, NULL, NULL) < 0)
warning(_("could not refresh index"));

View File

@ -1750,7 +1750,8 @@ int run_add_p(struct repository *r, enum add_p_mode mode,
s.mode = &patch_mode_add;
s.revision = revision;
if (discard_index(r->index) < 0 || repo_read_index(r) < 0 ||
discard_index(r->index);
if (repo_read_index(r) < 0 ||
(!s.mode->index_only &&
repo_refresh_and_write_index(r, REFRESH_QUIET, 0, 1,
NULL, NULL, NULL) < 0) ||

View File

@ -390,7 +390,8 @@ static void restore_state(const struct object_id *head,
run_command(&cmd);
refresh_cache:
if (discard_cache() < 0 || read_cache() < 0)
discard_cache();
if (read_cache() < 0)
die(_("could not read index"));
}

View File

@ -774,7 +774,7 @@ void ensure_full_index(struct index_state *istate);
*/
int write_locked_index(struct index_state *, struct lock_file *lock, unsigned flags);
int discard_index(struct index_state *);
void discard_index(struct index_state *);
void move_index_extensions(struct index_state *dst, struct index_state *src);
int unmerged_index(const struct index_state *);

View File

@ -2531,7 +2531,7 @@ int is_index_unborn(struct index_state *istate)
return (!istate->cache_nr && !istate->timestamp.sec);
}
int discard_index(struct index_state *istate)
void discard_index(struct index_state *istate)
{
/*
* Cache entries in istate->cache[] should have been allocated
@ -2562,8 +2562,6 @@ int discard_index(struct index_state *istate)
mem_pool_discard(istate->ce_mem_pool, should_validate_cache_entries());
FREE_AND_NULL(istate->ce_mem_pool);
}
return 0;
}
/*

View File

@ -3564,7 +3564,8 @@ static int do_exec(struct repository *r, const char *command_line)
status = run_command(&cmd);
/* force re-reading of the cache */
if (discard_index(r->index) < 0 || repo_read_index(r) < 0)
discard_index(r->index);
if (repo_read_index(r) < 0)
return error(_("could not read index"));
dirty = require_clean_work_tree(r, "rebase", NULL, 1, 1);
@ -4029,9 +4030,11 @@ static int do_merge(struct repository *r,
ret = run_command(&cmd);
/* force re-reading of the cache */
if (!ret && (discard_index(r->index) < 0 ||
repo_read_index(r) < 0))
ret = error(_("could not read index"));
if (!ret) {
discard_index(r->index);
if (repo_read_index(r) < 0)
ret = error(_("could not read index"));
}
goto leave_merge;
}
@ -4404,8 +4407,8 @@ void create_autostash(struct repository *r, const char *path)
printf(_("Created autostash: %s\n"), buf.buf);
if (reset_head(r, &ropts) < 0)
die(_("could not reset --hard"));
if (discard_index(r->index) < 0 ||
repo_read_index(r) < 0)
discard_index(r->index);
if (repo_read_index(r) < 0)
die(_("could not read index"));
}
strbuf_release(&buf);