aboutsummaryrefslogtreecommitdiff
path: root/submodule.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-12-06 09:23:35 -0800
committerJunio C Hamano <gitster@pobox.com>2017-12-06 09:23:35 -0800
commit0b75572a1b9f601b751d431faea55f492ea92ac9 (patch)
tree77c08b1f554cedb53a924e6ab0ef23e947469858 /submodule.c
parent1a4e40aa5dc16564af879142ba9dfbbb88d1e5ff (diff)
parent57f22bf9979c94f66c3596fb28d0588c1edc2f8d (diff)
downloadgit-0b75572a1b9f601b751d431faea55f492ea92ac9.tar.gz
git-0b75572a1b9f601b751d431faea55f492ea92ac9.tar.xz
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.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/submodule.c b/submodule.c
index bb531e0e5..95e6aff2b 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;