diff --git a/git_refs.py b/git_refs.py index ac8ed0c..b24a0b4 100644 --- a/git_refs.py +++ b/git_refs.py @@ -21,7 +21,6 @@ HEAD = 'HEAD' R_HEADS = 'refs/heads/' R_TAGS = 'refs/tags/' R_PUB = 'refs/published/' -R_M = 'refs/remotes/m/' class GitRefs(object): diff --git a/manifest.py b/manifest.py index bf801df..0762098 100644 --- a/manifest.py +++ b/manifest.py @@ -35,3 +35,10 @@ class Manifest(object): @property def IsMirror(self): return self.manifestProject.config.GetBoolean('repo.mirror') + + @property + def projects(self): + return {} + + def SetMRefs(self, project): + pass diff --git a/manifest_xml.py b/manifest_xml.py index 97df75b..66cdf3e 100644 --- a/manifest_xml.py +++ b/manifest_xml.py @@ -29,6 +29,7 @@ from error import ManifestParseError MANIFEST_FILE_NAME = 'manifest.xml' LOCAL_MANIFEST_NAME = 'local_manifest.xml' +R_M = 'refs/remotes/m/' class _Default(object): """Project defaults within the manifest.""" @@ -168,6 +169,10 @@ class XmlManifest(Manifest): self._Load() return self._default + def SetMRefs(self, project): + if self.branch: + project._InitAnyMRef(R_M + self.branch) + def _Unload(self): self._loaded = False self._projects = {} diff --git a/project.py b/project.py index bedc91e..6188ca7 100644 --- a/project.py +++ b/project.py @@ -27,7 +27,7 @@ from git_config import GitConfig, IsId from error import GitError, ImportError, UploadError from error import ManifestInvalidRevisionError -from git_refs import GitRefs, HEAD, R_HEADS, R_TAGS, R_PUB, R_M +from git_refs import GitRefs, HEAD, R_HEADS, R_TAGS, R_PUB def _lwrite(path, content): lock = '%s.lock' % path @@ -598,7 +598,7 @@ class Project(object): return False if self.worktree: - self._InitMRef() + self.manifest.SetMRefs(self) else: self._InitMirrorHead() try: @@ -1080,10 +1080,6 @@ class Project(object): remote.ResetFetch(mirror=True) remote.Save() - def _InitMRef(self): - if self.manifest.branch: - self._InitAnyMRef(R_M + self.manifest.branch) - def _InitMirrorHead(self): self._InitAnyMRef(HEAD)