mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
is_submodule_modified(): fix breakage with external GIT_INDEX_FILE
Even when the environment was given for the top-level process, checking in the submodule work tree should use the index file associated with the work tree of the submodule. Do not export it to the environment. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
a9c7c4364a
commit
b0883aa6c7
|
@ -126,7 +126,7 @@ int is_submodule_modified(const char *path)
|
|||
"--porcelain",
|
||||
NULL,
|
||||
};
|
||||
char *env[3];
|
||||
char *env[4];
|
||||
struct strbuf buf = STRBUF_INIT;
|
||||
|
||||
strbuf_addf(&buf, "%s/.git/", path);
|
||||
|
@ -142,7 +142,9 @@ int is_submodule_modified(const char *path)
|
|||
env[0] = strbuf_detach(&buf, NULL);
|
||||
strbuf_addf(&buf, "GIT_DIR=%s/.git", path);
|
||||
env[1] = strbuf_detach(&buf, NULL);
|
||||
env[2] = NULL;
|
||||
strbuf_addf(&buf, "GIT_INDEX_FILE");
|
||||
env[2] = strbuf_detach(&buf, NULL);
|
||||
env[3] = NULL;
|
||||
|
||||
memset(&cp, 0, sizeof(cp));
|
||||
cp.argv = argv;
|
||||
|
@ -161,6 +163,7 @@ int is_submodule_modified(const char *path)
|
|||
|
||||
free(env[0]);
|
||||
free(env[1]);
|
||||
free(env[2]);
|
||||
strbuf_release(&buf);
|
||||
return len != 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue