summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'project.py')
-rw-r--r--project.py17
1 files changed, 3 insertions, 14 deletions
diff --git a/project.py b/project.py
index af2a8bc3..3138eb19 100644
--- a/project.py
+++ b/project.py
@@ -1952,18 +1952,6 @@ class Project(object):
1952 return True 1952 return True
1953 1953
1954# Branch Management ## 1954# Branch Management ##
1955 def GetHeadPath(self):
1956 """Return the full path to the HEAD ref."""
1957 dotgit = os.path.join(self.worktree, '.git')
1958 if os.path.isfile(dotgit):
1959 # Git worktrees use a "gitdir:" syntax to point to the scratch space.
1960 with open(dotgit) as fp:
1961 setting = fp.read()
1962 assert setting.startswith('gitdir:')
1963 gitdir = setting.split(':', 1)[1].strip()
1964 dotgit = os.path.join(self.worktree, gitdir)
1965 return os.path.join(dotgit, HEAD)
1966
1967 def StartBranch(self, name, branch_merge='', revision=None): 1955 def StartBranch(self, name, branch_merge='', revision=None):
1968 """Create a new branch off the manifest's revision. 1956 """Create a new branch off the manifest's revision.
1969 """ 1957 """
@@ -2046,7 +2034,8 @@ class Project(object):
2046 # Same revision; just update HEAD to point to the new 2034 # Same revision; just update HEAD to point to the new
2047 # target branch, but otherwise take no other action. 2035 # target branch, but otherwise take no other action.
2048 # 2036 #
2049 _lwrite(self.GetHeadPath(), 'ref: %s%s\n' % (R_HEADS, name)) 2037 _lwrite(self.work_git.GetDotgitPath(subpath=HEAD),
2038 'ref: %s%s\n' % (R_HEADS, name))
2050 return True 2039 return True
2051 2040
2052 return GitCommand(self, 2041 return GitCommand(self,
@@ -2079,7 +2068,7 @@ class Project(object):
2079 2068
2080 revid = self.GetRevisionId(all_refs) 2069 revid = self.GetRevisionId(all_refs)
2081 if head == revid: 2070 if head == revid:
2082 _lwrite(self.GetHeadPath(), '%s\n' % revid) 2071 _lwrite(self.work_git.GetDotgitPath(subpath=HEAD), '%s\n' % revid)
2083 else: 2072 else:
2084 self._Checkout(revid, quiet=True) 2073 self._Checkout(revid, quiet=True)
2085 2074