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 <bmwill@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Brandon Williams committed Dec 12, 2017 at 11:53 UTC 7da9aba417868afa11ef0baa4078dc2dadde5333
2 files changed +4 -3
submodule.c
+3 -2
@@ -55,14 +55,15 @@ int is_gitmodules_unmerged(const struct index_state *istate)
55 * future version when we learn to stage the changes we do ourselves without
56 * staging any previous modifications.
57 */
58 -int is_staging_gitmodules_ok(const struct index_state *istate)
58 +int is_staging_gitmodules_ok(struct index_state *istate)
59 {
60 int pos = index_name_pos(istate, GITMODULES_FILE, strlen(GITMODULES_FILE));
61
62 if ((pos >= 0) && (pos < istate->cache_nr)) {
63 struct stat st;
64 if (lstat(GITMODULES_FILE, &st) == 0 &&
65 - ce_match_stat(istate->cache[pos], &st, CE_MATCH_IGNORE_FSMONITOR) & DATA_CHANGED)
65 + ie_match_stat(istate, istate->cache[pos], &st,
66 + CE_MATCH_IGNORE_FSMONITOR) & DATA_CHANGED)
67 return 0;
68 }
69
submodule.h
+1 -1
@@ -34,7 +34,7 @@ struct submodule_update_strategy {
34 #define SUBMODULE_UPDATE_STRATEGY_INIT {SM_UPDATE_UNSPECIFIED, NULL}
35
36 extern int is_gitmodules_unmerged(const struct index_state *istate);
37 -extern int is_staging_gitmodules_ok(const struct index_state *istate);
37 +extern int is_staging_gitmodules_ok(struct index_state *istate);
38 extern int update_path_in_gitmodules(const char *oldpath, const char *newpath);
39 extern int remove_path_from_gitmodules(const char *path);
40 extern void stage_updated_gitmodules(struct index_state *istate);