From 2450a2987afcf3d01a4d43fffe590b02880d9aa7 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 4 Nov 2008 08:22:07 -0800 Subject: [PATCH] Assume the manifest branch matches the branch name in Git Whatever branch name we checked the manifest out from is the name we want to reflect throughout the rest of the projects, e.g. within the special "m/" remote space. This reduces the difference between different branches within the manifest file. Signed-off-by: Shawn O. Pearce --- manifest.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/manifest.py b/manifest.py index 3d5e092..b928cdf 100644 --- a/manifest.py +++ b/manifest.py @@ -18,7 +18,7 @@ import sys import xml.dom.minidom from git_config import GitConfig, IsId -from project import Project, MetaProject, R_TAGS +from project import Project, MetaProject, R_HEADS from remote import Remote from error import ManifestParseError @@ -97,6 +97,12 @@ class Manifest(object): def _Load(self): if not self._loaded: + m = self.manifestProject + b = m.GetBranch(m.CurrentBranch).merge + if b.startswith(R_HEADS): + b = b[len(R_HEADS):] + self.branch = b + self._ParseManifest(True) local = os.path.join(self.repodir, LOCAL_MANIFEST_NAME) @@ -123,11 +129,6 @@ class Manifest(object): "no in %s" % \ self.manifestFile - if is_root_file: - self.branch = config.getAttribute('branch') - if not self.branch: - self.branch = 'default' - for node in config.childNodes: if node.nodeName == 'remote': remote = self._ParseRemote(node)