Always output upstream if specified
Previously, in running the `manifest` command, we wouldn't output the
upstream if the default upstream would include the pinned sha1.
However, now that fetching refs/heads/* doesn't guarantee that we will
have the sha1, we need to always output the specified upstream branch.
Change-Id: Ib8b409a8ecd439397b38ee9649c530407797f841
diff --git a/manifest_xml.py b/manifest_xml.py
index cfbd9ef..130e17c 100644
--- a/manifest_xml.py
+++ b/manifest_xml.py
@@ -253,11 +253,13 @@
else:
value = p.work_git.rev_parse(HEAD + '^0')
e.setAttribute('revision', value)
- if peg_rev_upstream and value != p.revisionExpr:
- # Only save the origin if the origin is not a sha1, and the default
- # isn't our value, and the if the default doesn't already have that
- # covered.
- e.setAttribute('upstream', p.revisionExpr)
+ if peg_rev_upstream:
+ if p.upstream:
+ e.setAttribute('upstream', p.upstream)
+ elif value != p.revisionExpr:
+ # Only save the origin if the origin is not a sha1, and the default
+ # isn't our value
+ e.setAttribute('upstream', p.revisionExpr)
else:
revision = self.remotes[remoteName].revision or d.revisionExpr
if not revision or revision != p.revisionExpr: