git-diff: turn on recursion by default
authorJeff King <peff@peff.net>
Sun, 29 Jul 2007 09:49:56 +0000 (05:49 -0400)
committerJunio C Hamano <gitster@pobox.com>
Sun, 29 Jul 2007 20:24:42 +0000 (13:24 -0700)
The tree recursion behavior of git-diff may appear
inconsistent to the user because it depends on the format of
the patch as well as whether one is diffing between trees or
against the index.

Since git-diff is a porcelain wrapper for low-level diff
commands, it makes sense for its behavior to be consistent
no matter what is being diffed.  This patch turns on
recursion in all cases.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-diff.c
t/t9300-fast-import.sh

index 7f367b6b9d545ea760224fdacb68056261ce1617..b48121e6e21ddd29fbb725c813aa22d0bcee2ea2 100644 (file)
@@ -233,6 +233,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)
                        die("diff_setup_done failed");
        }
        rev.diffopt.allow_external = 1;
+       rev.diffopt.recursive = 1;
 
        /* Do we have --cached and not have a pending object, then
         * default to HEAD by hand.  Eek.
index 4b920be331faa0b1ad211517da218170cabd92b2..6f95305bf461c2659392d3ee6a77a5360c833c37 100755 (executable)
@@ -577,7 +577,7 @@ EXPECT_END
 test_expect_success \
     'L: verify internal tree sorting' \
        'git-fast-import <input &&
-        git diff --raw L^ L >output &&
+        git diff-tree --abbrev --raw L^ L >output &&
         git diff expect output'
 
 ###