summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--project.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/project.py b/project.py
index cb78ff72..343452ad 100644
--- a/project.py
+++ b/project.py
@@ -2558,6 +2558,8 @@ class Project(object):
2558 2558
2559 base = R_WORKTREE_M 2559 base = R_WORKTREE_M
2560 active_git = self.work_git 2560 active_git = self.work_git
2561
2562 self._InitAnyMRef(HEAD, self.bare_git, detach=True)
2561 else: 2563 else:
2562 base = R_M 2564 base = R_M
2563 active_git = self.bare_git 2565 active_git = self.bare_git
@@ -2567,7 +2569,7 @@ class Project(object):
2567 def _InitMirrorHead(self): 2569 def _InitMirrorHead(self):
2568 self._InitAnyMRef(HEAD, self.bare_git) 2570 self._InitAnyMRef(HEAD, self.bare_git)
2569 2571
2570 def _InitAnyMRef(self, ref, active_git): 2572 def _InitAnyMRef(self, ref, active_git, detach=False):
2571 cur = self.bare_ref.symref(ref) 2573 cur = self.bare_ref.symref(ref)
2572 2574
2573 if self.revisionId: 2575 if self.revisionId:
@@ -2580,7 +2582,10 @@ class Project(object):
2580 dst = remote.ToLocal(self.revisionExpr) 2582 dst = remote.ToLocal(self.revisionExpr)
2581 if cur != dst: 2583 if cur != dst:
2582 msg = 'manifest set to %s' % self.revisionExpr 2584 msg = 'manifest set to %s' % self.revisionExpr
2583 active_git.symbolic_ref('-m', msg, ref, dst) 2585 if detach:
2586 active_git.UpdateRef(ref, dst, message=msg, detach=True)
2587 else:
2588 active_git.symbolic_ref('-m', msg, ref, dst)
2584 2589
2585 def _CheckDirReference(self, srcdir, destdir, share_refs): 2590 def _CheckDirReference(self, srcdir, destdir, share_refs):
2586 # Git worktrees don't use symlinks to share at all. 2591 # Git worktrees don't use symlinks to share at all.