Many commands have flags to recurse into submodules, which is named --recurse-submodules. The diff family also has a submodule recursion flag, but that is named differently. Add a synonym --recurse-submodules, which means the same as the --submodule flag, such that across all git commands supporting submodules we have the --recurse-submodules flag available. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- Documentation/diff-options.txt | 21 +++++++++++---------- diff.c | 3 ++- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index 0378cd574eb..28c6c7f939f 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -226,17 +226,18 @@ linkgit:git-config[1]). Show only names and status of changed files. See the description of the `--diff-filter` option on what the status letters mean. ---submodule[=<format>]:: +--recurse-submodules[=<format>]:: Specify how differences in submodules are shown. When specifying - `--submodule=short` the 'short' format is used. This format just - shows the names of the commits at the beginning and end of the range. - When `--submodule` or `--submodule=log` is specified, the 'log' - format is used. This format lists the commits in the range like - linkgit:git-submodule[1] `summary` does. When `--submodule=diff` - is specified, the 'diff' format is used. This format shows an - inline diff of the changes in the submodule contents between the - commit range. Defaults to `diff.submodule` or the 'short' format - if the config option is unset. + `--recurse-submodules=short` the 'short' format is used. This format + just shows the names of the commits at the beginning and end of the + range. When `--recurse-submodules` or `--recurse-submodules=log` is + specified, the 'log' format is used. This format lists the commits + in the range like linkgit:git-submodule[1] `summary` does. + When `--recurse-submodules=diff` is specified, the 'diff' format + is used. This format shows an inline diff of the changes in the + submodule contents between the commit range. Defaults to + `diff.submodule` or the 'short' format if the config option is unset. + `--submodule[=<format>]` is a historic synonym for this option. --color[=<when>]:: Show colored diff. diff --git a/diff.c b/diff.c index 145cfbae592..b874f166c00 100644 --- a/diff.c +++ b/diff.c @@ -5021,7 +5021,8 @@ int diff_opt_parse(struct diff_options *options, else if (skip_to_optional_arg_default(arg, "--ignore-submodules", &arg, "all")) { options->flags.override_submodule_config = 1; handle_ignore_submodules_arg(options, arg); - } else if (skip_to_optional_arg_default(arg, "--submodule", &arg, "log")) + } else if (skip_to_optional_arg_default(arg, "--submodule", &arg, "log") || + skip_to_optional_arg_default(arg, "--recurse-submodules", &arg, "log")) return parse_submodule_opt(options, arg); else if (skip_prefix(arg, "--ws-error-highlight=", &arg)) return parse_ws_error_highlight_opt(options, arg); -- 2.19.0.rc2.392.g5ba43deb5a-goog