Calling 'git-diff --name-status' will recursively show any changes already, and it has for quite some time (at least as far back as v1.4.1). Signed-off-by: Jeff King <peff@xxxxxxxx> --- On Sat, Jul 28, 2007 at 05:26:27PM +0200, Jakub Narebski wrote: > > How about --name-status? > > Or -r --name-status? The '-r' now seems to be superfluous. I checked using the following script: mkdir repo && cd repo && git-init && touch root && git-add root && git-commit -m root && mkdir sub && touch sub/file && git-add sub/file && git-diff --cached --name-status And it correctly reports A sub/file at least since v1.4.1. I didn't look further, but the example is from the 0.99 era, so I suspect this behavior was changed with the libification of the revision machinery and the reworking of git-diff. Or maybe I just totally don't understand what '-r' is supposed to be doing. Documentation/git-diff.txt | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-) diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt index 639b969..b1f5e7f 100644 --- a/Documentation/git-diff.txt +++ b/Documentation/git-diff.txt @@ -102,17 +102,14 @@ Limiting the diff output:: + ------------ $ git diff --diff-filter=MRC <1> -$ git diff --name-status -r <2> +$ git diff --name-status <2> $ git diff arch/i386 include/asm-i386 <3> ------------ + <1> show only modification, rename and copy, but not addition nor deletion. <2> show only names and the nature of change, but not actual -diff output. --name-status disables usual patch generation -which in turn also disables recursive behavior, so without -r -you would only see the directory name if there is a change in a -file in a subdirectory. +diff output. <3> limit diff output to named subtrees. Munging the diff output:: -- 1.5.3.rc3.845.g88e3-dirty - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html