summaryrefslogtreecommitdiff
path: root/submodule.c
diff options
context:
space:
mode:
authorJens Lehmann <Jens.Lehmann@web.de>2011-12-07 21:50:14 (GMT)
committerJunio C Hamano <gitster@pobox.com>2011-12-08 19:15:01 (GMT)
commit6a5cedac87ff4f1d8d8b535dac8184e1f7fbc454 (patch)
treec7fe9a21902f83c2b460a2900898e690944ca4b5 /submodule.c
parentee6fc514f2df821c2719cc49499a56ef2fb136b0 (diff)
downloadgit-6a5cedac87ff4f1d8d8b535dac8184e1f7fbc454.zip
git-6a5cedac87ff4f1d8d8b535dac8184e1f7fbc454.tar.gz
git-6a5cedac87ff4f1d8d8b535dac8184e1f7fbc454.tar.bz2
diff/status: print submodule path when looking for changes fails
diff and status run "git status --porcelain" inside each populated submodule to see if it contains changes (unless told not to do so via config or command line option). When that fails, e.g. due to a corrupt submodule .git directory, it just prints "git status --porcelain failed" or "Could not run git status --porcelain" without giving the user a clue where that happened. Add '"in submodule %s", path' to these error strings to tell the user where exactly the problem occurred. Reported-by: Seth Robertson <in-gitvger@baka.org> Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'submodule.c')
-rw-r--r--submodule.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/submodule.c b/submodule.c
index 3f851de..8340b19 100644
--- a/submodule.c
+++ b/submodule.c
@@ -148,13 +148,13 @@ int is_submodule_modified(const char *path)
cp.no_stdin = 1;
cp.out = -1;
if (start_command(&cp))
- die("Could not run git status --porcelain");
+ die("Could not run 'git status --porcelain' in submodule %s", path);
len = strbuf_read(&buf, cp.out, 1024);
close(cp.out);
if (finish_command(&cp))
- die("git status --porcelain failed");
+ die("'git status --porcelain' failed in submodule %s", path);
free(env[0]);
free(env[1]);