From: Jens Lehmann Date: Wed, 7 Dec 2011 21:50:14 +0000 (+0100) Subject: diff/status: print submodule path when looking for changes fails X-Git-Tag: v1.7.8.1~1^2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=6a5cedac87ff4f1d8d8b535dac8184e1f7fbc454;p=git.git 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 Signed-off-by: Jens Lehmann Signed-off-by: Junio C Hamano --- diff --git a/submodule.c b/submodule.c index 3f851deb6..8340b1956 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]);