Code

Integrate version 3 ciabot scripts into contrib/.
[git.git] / submodule.c
index 714ca976b85c5501011e40b82dc7da065003744b..b3b8bc147909f81be6a387318ad0601dae50460f 100644 (file)
@@ -130,7 +130,7 @@ void show_submodule_summary(FILE *f, const char *path,
        strbuf_release(&sb);
 }
 
-unsigned is_submodule_modified(const char *path)
+unsigned is_submodule_modified(const char *path, int ignore_untracked)
 {
        int i;
        ssize_t len;
@@ -139,6 +139,7 @@ unsigned is_submodule_modified(const char *path)
                "status",
                "--porcelain",
                NULL,
+               NULL,
        };
        const char *env[LOCAL_REPO_ENV_SIZE + 3];
        struct strbuf buf = STRBUF_INIT;
@@ -163,6 +164,9 @@ unsigned is_submodule_modified(const char *path)
        env[i++] = strbuf_detach(&buf, NULL);
        env[i] = NULL;
 
+       if (ignore_untracked)
+               argv[2] = "-uno";
+
        memset(&cp, 0, sizeof(cp));
        cp.argv = argv;
        cp.env = env;
@@ -181,7 +185,8 @@ unsigned is_submodule_modified(const char *path)
                                break;
                } else {
                        dirty_submodule |= DIRTY_SUBMODULE_MODIFIED;
-                       if (dirty_submodule & DIRTY_SUBMODULE_UNTRACKED)
+                       if (ignore_untracked ||
+                           (dirty_submodule & DIRTY_SUBMODULE_UNTRACKED))
                                break;
                }
                next_line = strchr(line, '\n');