diff options
| -rw-r--r-- | project.py | 19 |
1 files changed, 11 insertions, 8 deletions
| @@ -237,10 +237,7 @@ class Project(object): | |||
| 237 | The branch name omits the 'refs/heads/' prefix. | 237 | The branch name omits the 'refs/heads/' prefix. |
| 238 | None is returned if the project is on a detached HEAD. | 238 | None is returned if the project is on a detached HEAD. |
| 239 | """ | 239 | """ |
| 240 | try: | 240 | b = self.work_git.GetHead() |
| 241 | b = self.work_git.GetHead() | ||
| 242 | except GitError: | ||
| 243 | return None | ||
| 244 | if b.startswith(R_HEADS): | 241 | if b.startswith(R_HEADS): |
| 245 | return b[len(R_HEADS):] | 242 | return b[len(R_HEADS):] |
| 246 | return None | 243 | return None |
| @@ -817,9 +814,8 @@ class Project(object): | |||
| 817 | kill.append(cb) | 814 | kill.append(cb) |
| 818 | 815 | ||
| 819 | if kill: | 816 | if kill: |
| 820 | try: | 817 | old = self.bare_git.GetHead() |
| 821 | old = self.bare_git.GetHead() | 818 | if old is None: |
| 822 | except GitError: | ||
| 823 | old = 'refs/heads/please_never_use_this_as_a_branch_name' | 819 | old = 'refs/heads/please_never_use_this_as_a_branch_name' |
| 824 | 820 | ||
| 825 | try: | 821 | try: |
| @@ -1125,7 +1121,14 @@ class Project(object): | |||
| 1125 | p.Wait() | 1121 | p.Wait() |
| 1126 | 1122 | ||
| 1127 | def GetHead(self): | 1123 | def GetHead(self): |
| 1128 | return self.symbolic_ref(HEAD) | 1124 | if self._bare: |
| 1125 | path = os.path.join(self._project.gitdir, HEAD) | ||
| 1126 | else: | ||
| 1127 | path = os.path.join(self._project.worktree, '.git', HEAD) | ||
| 1128 | line = open(path, 'r').read() | ||
| 1129 | if line.startswith('ref: '): | ||
| 1130 | return line[5:-1] | ||
| 1131 | return line[:-1] | ||
| 1129 | 1132 | ||
| 1130 | def SetHead(self, ref, message=None): | 1133 | def SetHead(self, ref, message=None): |
| 1131 | cmdv = [] | 1134 | cmdv = [] |
