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);