Merge "Fix XmlManifest.Save with remotes that have 'alias' set"
diff --git a/manifest_xml.py b/manifest_xml.py
index 3ac607e..bc4d8c4 100644
--- a/manifest_xml.py
+++ b/manifest_xml.py
@@ -102,7 +102,10 @@
remoteName = self.name
if self.remoteAlias:
remoteName = self.remoteAlias
- return RemoteSpec(remoteName, url, self.reviewUrl)
+ return RemoteSpec(remoteName,
+ url=url,
+ review=self.reviewUrl,
+ orig_name=self.name)
class XmlManifest(object):
"""manages the repo configuration file"""
@@ -249,9 +252,9 @@
e.setAttribute('path', relpath)
remoteName = None
if d.remote:
- remoteName = d.remote.remoteAlias or d.remote.name
- if not d.remote or p.remote.name != remoteName:
- remoteName = p.remote.name
+ remoteName = d.remote.name
+ if not d.remote or p.remote.orig_name != remoteName:
+ remoteName = p.remote.orig_name
e.setAttribute('remote', remoteName)
if peg_rev:
if self.IsMirror:
@@ -267,7 +270,7 @@
# isn't our value
e.setAttribute('upstream', p.revisionExpr)
else:
- revision = self.remotes[remoteName].revision or d.revisionExpr
+ revision = self.remotes[p.remote.orig_name].revision or d.revisionExpr
if not revision or revision != p.revisionExpr:
e.setAttribute('revision', p.revisionExpr)
if p.upstream and p.upstream != p.revisionExpr:
diff --git a/project.py b/project.py
index 1e1a10a..3b8604e 100644
--- a/project.py
+++ b/project.py
@@ -315,11 +315,13 @@
name,
url=None,
review=None,
- revision=None):
+ revision=None,
+ orig_name=None):
self.name = name
self.url = url
self.review = review
self.revision = revision
+ self.orig_name = orig_name
class RepoHook(object):