Merge branch 'sb/submodule-recursive-checkout-detach-head'

"git checkout --recursive" 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.

* sb/submodule-recursive-checkout-detach-head:
  Documentation/checkout: clarify submodule HEADs to be detached
  recursive submodules: detach HEAD from new state
This commit is contained in:
Junio C Hamano
2017-12-06 09:23:35 -08:00
3 changed files with 21 additions and 1 deletions

View File

@ -1670,7 +1670,8 @@ int submodule_move_head(const char *path,
cp.dir = path;
prepare_submodule_repo_env(&cp.env_array);
argv_array_pushl(&cp.args, "update-ref", "HEAD", new, NULL);
argv_array_pushl(&cp.args, "update-ref", "HEAD",
"--no-deref", new, NULL);
if (run_command(&cp)) {
ret = -1;