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@peff.net> --- 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-statusAnd 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(-)
Show changes to Documentation/git-diff.txt +2 −5
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