summaryrefslogtreecommitdiff
path: root/submodule.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-12-06 17:23:35 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-12-06 17:23:35 (GMT)
commit0b75572a1b9f601b751d431faea55f492ea92ac9 (patch)
tree77c08b1f554cedb53a924e6ab0ef23e947469858 /submodule.c
parent1a4e40aa5dc16564af879142ba9dfbbb88d1e5ff (diff)
parent57f22bf9979c94f66c3596fb28d0588c1edc2f8d (diff)
downloadgit-0b75572a1b9f601b751d431faea55f492ea92ac9.zip
git-0b75572a1b9f601b751d431faea55f492ea92ac9.tar.gz
git-0b75572a1b9f601b751d431faea55f492ea92ac9.tar.bz2
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 bb531e0..95e6aff 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;