diff options
Diffstat (limited to 'project.py')
-rw-r--r-- | project.py | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -997,14 +997,17 @@ class Project(object): | |||
997 | if self.manifest.branch: | 997 | if self.manifest.branch: |
998 | msg = 'manifest set to %s' % self.revision | 998 | msg = 'manifest set to %s' % self.revision |
999 | ref = R_M + self.manifest.branch | 999 | ref = R_M + self.manifest.branch |
1000 | cur = self.bare_ref.symref(ref) | ||
1000 | 1001 | ||
1001 | if IsId(self.revision): | 1002 | if IsId(self.revision): |
1002 | dst = self.revision + '^0' | 1003 | if cur != '' or self.bare_ref.get(ref) != self.revision: |
1003 | self.bare_git.UpdateRef(ref, dst, message = msg, detach = True) | 1004 | dst = self.revision + '^0' |
1005 | self.bare_git.UpdateRef(ref, dst, message = msg, detach = True) | ||
1004 | else: | 1006 | else: |
1005 | remote = self.GetRemote(self.remote.name) | 1007 | remote = self.GetRemote(self.remote.name) |
1006 | dst = remote.ToLocal(self.revision) | 1008 | dst = remote.ToLocal(self.revision) |
1007 | self.bare_git.symbolic_ref('-m', msg, ref, dst) | 1009 | if cur != dst: |
1010 | self.bare_git.symbolic_ref('-m', msg, ref, dst) | ||
1008 | 1011 | ||
1009 | def _InitMirrorHead(self): | 1012 | def _InitMirrorHead(self): |
1010 | dst = self.GetRemote(self.remote.name).ToLocal(self.revision) | 1013 | dst = self.GetRemote(self.remote.name).ToLocal(self.revision) |