Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]>
---
builtin/am.c | 6 +++---
cache.h | 6 +++---
merge-recursive.c | 2 +-
read-cache.c | 12 +++++-------
4 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/builtin/am.c b/builtin/am.c
index 65e10a5eb3..37b52be7db 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -1771,7 +1771,7 @@ static void am_run(struct am_state *state, int resume)
refresh_and_write_cache();
- if (index_has_changes(&the_index, NULL, &sb)) {
+ if (repo_index_has_changes(the_repository, NULL, &sb)) {
write_state_bool(state, "dirtyindex", 1);
die(_("Dirty index: cannot apply patches (dirty: %s)"), sb.buf);
}
@@ -1829,7 +1829,7 @@ static void am_run(struct am_state *state, int resume)
* the result may have produced the same tree as ours.
*/
if (!apply_status &&
- !index_has_changes(&the_index, NULL, NULL)) {
+ !repo_index_has_changes(the_repository, NULL,
NULL)) {
say(state, stdout, _("No changes -- Patch
already applied."));
goto next;
}
@@ -1883,7 +1883,7 @@ static void am_resolve(struct am_state *state)
say(state, stdout, _("Applying: %.*s"), linelen(state->msg),
state->msg);
- if (!index_has_changes(&the_index, NULL, NULL)) {
+ if (!repo_index_has_changes(the_repository, NULL, NULL)) {
printf_ln(_("No changes - did you forget to use 'git add'?\n"
"If there is nothing left to stage, chances are that
something else\n"
"already introduced the same changes; you might want to
skip this patch."));
diff --git a/cache.h b/cache.h
index 91c092cf76..4b3ec4ff82 100644
--- a/cache.h
+++ b/cache.h
@@ -701,9 +701,9 @@ extern int unmerged_index(const struct index_state *);
* provided, the space-separated list of files that differ will be appended
* to it.
*/
-extern int index_has_changes(struct index_state *istate,
- struct tree *tree,
- struct strbuf *sb);
+extern int repo_index_has_changes(struct repository *repo,
+ struct tree *tree,
+ struct strbuf *sb);
extern int verify_path(const char *path, unsigned mode);
extern int strcmp_offset(const char *s1, const char *s2, size_t *first_change);
diff --git a/merge-recursive.c b/merge-recursive.c
index ad0a5b0202..22b382e85f 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -3282,7 +3282,7 @@ int merge_trees(struct merge_options *o,
int code, clean;
struct strbuf sb = STRBUF_INIT;
- if (!o->call_depth && index_has_changes(istate, head, &sb)) {
+ if (!o->call_depth && repo_index_has_changes(o->repo, head, &sb)) {
err(o, _("Your local changes to the following files would be
overwritten by merge:\n %s"),
sb.buf);
return -1;
diff --git a/read-cache.c b/read-cache.c
index 46e5e4000a..19389c6f30 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -2372,22 +2372,20 @@ int unmerged_index(const struct index_state *istate)
return 0;
}
-int index_has_changes(struct index_state *istate,
- struct tree *tree,
- struct strbuf *sb)
+int repo_index_has_changes(struct repository *repo,
+ struct tree *tree,
+ struct strbuf *sb)
{
+ struct index_state *istate = repo->index;
struct object_id cmp;
int i;
- if (istate != &the_index) {
- BUG("index_has_changes cannot yet accept istate != &the_index;
do_diff_cache needs updating first.");
- }
if (tree)
cmp = tree->object.oid;
if (tree || !get_oid_tree("HEAD", &cmp)) {
struct diff_options opt;
- repo_diff_setup(the_repository, &opt);
+ repo_diff_setup(repo, &opt);
opt.flags.exit_with_status = 1;
if (!sb)
opt.flags.quick = 1;
--
2.19.1.647.g708186aaf9