From 7da9aba417868afa11ef0baa4078dc2dadde5333 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Tue, 12 Dec 2017 11:53:51 -0800 Subject: [PATCH] submodule: used correct index in is_staging_gitmodules_ok Commit 883e248b8 (fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files., 2017-09-22) introduced a call to 'ce_match_stat()' in 'is_staging_gitmodules_ok()' which implicitly relys on the the global 'the_index' instead of the passed in 'struct index_state'. Fix this by changing the call to 'ie_match_stat()' and using the passed in index_state struct. Signed-off-by: Brandon Williams Signed-off-by: Junio C Hamano --- submodule.c | 5 +++-- submodule.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/submodule.c b/submodule.c index 7097be806e..a9670eaae8 100644 --- a/submodule.c +++ b/submodule.c @@ -55,14 +55,15 @@ int is_gitmodules_unmerged(const struct index_state *istate) * future version when we learn to stage the changes we do ourselves without * staging any previous modifications. */ -int is_staging_gitmodules_ok(const struct index_state *istate) +int is_staging_gitmodules_ok(struct index_state *istate) { int pos = index_name_pos(istate, GITMODULES_FILE, strlen(GITMODULES_FILE)); if ((pos >= 0) && (pos < istate->cache_nr)) { struct stat st; if (lstat(GITMODULES_FILE, &st) == 0 && - ce_match_stat(istate->cache[pos], &st, CE_MATCH_IGNORE_FSMONITOR) & DATA_CHANGED) + ie_match_stat(istate, istate->cache[pos], &st, + CE_MATCH_IGNORE_FSMONITOR) & DATA_CHANGED) return 0; } diff --git a/submodule.h b/submodule.h index cd984ecba1..e2a5de3d8e 100644 --- a/submodule.h +++ b/submodule.h @@ -34,7 +34,7 @@ struct submodule_update_strategy { #define SUBMODULE_UPDATE_STRATEGY_INIT {SM_UPDATE_UNSPECIFIED, NULL} extern int is_gitmodules_unmerged(const struct index_state *istate); -extern int is_staging_gitmodules_ok(const struct index_state *istate); +extern int is_staging_gitmodules_ok(struct index_state *istate); extern int update_path_in_gitmodules(const char *oldpath, const char *newpath); extern int remove_path_from_gitmodules(const char *path); extern void stage_updated_gitmodules(struct index_state *istate);