diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-12-06 20:23:35 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-12-06 20:23:35 +0300 |
commit | 0b75572a1b9f601b751d431faea55f492ea92ac9 (patch) | |
tree | 77c08b1f554cedb53a924e6ab0ef23e947469858 /submodule.c | |
parent | 1a4e40aa5dc16564af879142ba9dfbbb88d1e5ff (diff) | |
parent | 57f22bf9979c94f66c3596fb28d0588c1edc2f8d (diff) |
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
Diffstat (limited to 'submodule.c')
-rw-r--r-- | submodule.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/submodule.c b/submodule.c index bb531e0e59..95e6aff2bb 100644 --- a/submodule.c +++ b/submodule.c @@ -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; |