Porcelain level "log" family should recurse when diffing.
authorJunio C Hamano <gitster@pobox.com>
Mon, 27 Aug 2007 08:33:49 +0000 (01:33 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 28 Aug 2007 07:10:21 +0000 (00:10 -0700)
Most notably, "git log --name-status" stopped at top level
directory changes without "-r" option.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-log.txt
Documentation/user-manual.txt
builtin-log.c
index 1e6dbd93b1939bb3ce01f5873a433f981aa1f236..5ec547cc0c10fb940b1bd2481940997cd375e830 100644 (file)
@@ -96,7 +96,7 @@ git log --since="2 weeks ago" \-- gitk::
        The "--" is necessary to avoid confusion with the *branch* named
        'gitk'
 
        The "--" is necessary to avoid confusion with the *branch* named
        'gitk'
 
-git log -r --name-status release..test::
+git log --name-status release..test::
 
        Show the commits that are in the "test" branch but not yet
        in the "release" branch, along with the list of paths
 
        Show the commits that are in the "test" branch but not yet
        in the "release" branch, along with the list of paths
index 06ab79fbd1bba327c82f392e68405ba9d3494951..35298e626be6bd440d6451c0b6205298c9d1fe19 100644 (file)
@@ -921,7 +921,7 @@ file such that it contained the given content either before or after the
 commit.  You can find out with this:
 
 -------------------------------------------------
 commit.  You can find out with this:
 
 -------------------------------------------------
-$  git log --raw -r --abbrev=40 --pretty=oneline -- filename |
+$  git log --raw --abbrev=40 --pretty=oneline -- filename |
        grep -B 1 `git hash-object filename`
 -------------------------------------------------
 
        grep -B 1 `git hash-object filename`
 -------------------------------------------------
 
index 13bae3110e05b804db22149e9eb366669a8147c7..a381c75f3c3d8645eabc46264660361c403e86bf 100644 (file)
@@ -55,6 +55,7 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix,
        rev->abbrev = DEFAULT_ABBREV;
        rev->commit_format = CMIT_FMT_DEFAULT;
        rev->verbose_header = 1;
        rev->abbrev = DEFAULT_ABBREV;
        rev->commit_format = CMIT_FMT_DEFAULT;
        rev->verbose_header = 1;
+       rev->diffopt.recursive = 1;
        rev->show_root_diff = default_show_root;
        rev->subject_prefix = fmt_patch_subject_prefix;
        argc = setup_revisions(argc, argv, rev, "HEAD");
        rev->show_root_diff = default_show_root;
        rev->subject_prefix = fmt_patch_subject_prefix;
        argc = setup_revisions(argc, argv, rev, "HEAD");
@@ -116,7 +117,6 @@ int cmd_whatchanged(int argc, const char **argv, const char *prefix)
        git_config(git_log_config);
        init_revisions(&rev, prefix);
        rev.diff = 1;
        git_config(git_log_config);
        init_revisions(&rev, prefix);
        rev.diff = 1;
-       rev.diffopt.recursive = 1;
        rev.simplify_history = 0;
        cmd_log_init(argc, argv, prefix, &rev);
        if (!rev.diffopt.output_format)
        rev.simplify_history = 0;
        cmd_log_init(argc, argv, prefix, &rev);
        if (!rev.diffopt.output_format)
@@ -165,7 +165,6 @@ int cmd_show(int argc, const char **argv, const char *prefix)
        git_config(git_log_config);
        init_revisions(&rev, prefix);
        rev.diff = 1;
        git_config(git_log_config);
        init_revisions(&rev, prefix);
        rev.diff = 1;
-       rev.diffopt.recursive = 1;
        rev.combine_merges = 1;
        rev.dense_combined_merges = 1;
        rev.always_show_header = 1;
        rev.combine_merges = 1;
        rev.dense_combined_merges = 1;
        rev.always_show_header = 1;