diff options
-rw-r--r-- | project.py | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -1044,12 +1044,15 @@ class Project(object): | |||
1044 | 1044 | ||
1045 | if head == revid: | 1045 | if head == revid: |
1046 | # No changes; don't do anything further. | 1046 | # No changes; don't do anything further. |
1047 | # Except if the head needs to be detached | ||
1047 | # | 1048 | # |
1048 | return | 1049 | if not syncbuf.detach_head: |
1050 | return | ||
1051 | else: | ||
1052 | lost = self._revlist(not_rev(revid), HEAD) | ||
1053 | if lost: | ||
1054 | syncbuf.info(self, "discarding %d commits", len(lost)) | ||
1049 | 1055 | ||
1050 | lost = self._revlist(not_rev(revid), HEAD) | ||
1051 | if lost: | ||
1052 | syncbuf.info(self, "discarding %d commits", len(lost)) | ||
1053 | try: | 1056 | try: |
1054 | self._Checkout(revid, quiet=True) | 1057 | self._Checkout(revid, quiet=True) |
1055 | except GitError, e: | 1058 | except GitError, e: |