Some commands take a plain `--recursive` flag as an indication to recurse into submodules, git-clone is a notable user facing example, an internal example is in builtin/submodule--helper. Other commands such as git-merge take the `--recursive` flag to indicate recursing in their specific area of expertise. Given these examples it is evident, that such a flag is too generic as we can think of other recursive applications as well: recursing into trees is another example. That is why any submodule related recursing tries to use the explicit `--recurse-submodules` instead. Any occurrences of the genric recurse flag are historic accidents. Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- Junio, feel free to just squash this into a future update of the release notes. Thanks, Stefan Documentation/RelNotes/2.16.0.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/RelNotes/2.16.0.txt b/Documentation/RelNotes/2.16.0.txt index 431bd5e34a..8fbc233e56 100644 --- a/Documentation/RelNotes/2.16.0.txt +++ b/Documentation/RelNotes/2.16.0.txt @@ -275,7 +275,7 @@ Fixes since v2.15 ask the underlying "git fetch" to go over IPv4/IPv6, which has been corrected. - * "git checkout --recursive" may overwrite and rewind the history of + * "git checkout --recurse-submodules" may overwrite and rewind the history of the branch that happens to be checked out in submodule repositories, which might not be desirable. Detach the HEAD but still allow the recursive checkout to succeed in such a case. -- 2.15.1.424.g9478a66081-goog