summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--project.py6
-rw-r--r--tests/test_git_superproject.py12
-rw-r--r--tests/test_manifest_xml.py2
3 files changed, 12 insertions, 8 deletions
diff --git a/project.py b/project.py
index 2ab0b389..e777dbd2 100644
--- a/project.py
+++ b/project.py
@@ -1216,7 +1216,7 @@ class Project(object):
1216 (self.revisionExpr, self.name)) 1216 (self.revisionExpr, self.name))
1217 1217
1218 def SetRevisionId(self, revisionId): 1218 def SetRevisionId(self, revisionId):
1219 if self.clone_depth or self.manifest.manifestProject.config.GetString('repo.depth'): 1219 if self.revisionExpr:
1220 self.upstream = self.revisionExpr 1220 self.upstream = self.revisionExpr
1221 1221
1222 self.revisionId = revisionId 1222 self.revisionId = revisionId
@@ -1967,6 +1967,10 @@ class Project(object):
1967 # throws an error. 1967 # throws an error.
1968 self.bare_git.rev_list('-1', '--missing=allow-any', 1968 self.bare_git.rev_list('-1', '--missing=allow-any',
1969 '%s^0' % self.revisionExpr, '--') 1969 '%s^0' % self.revisionExpr, '--')
1970 if self.upstream:
1971 rev = self.GetRemote(self.remote.name).ToLocal(self.upstream)
1972 self.bare_git.rev_list('-1', '--missing=allow-any',
1973 '%s^0' % rev, '--')
1970 return True 1974 return True
1971 except GitError: 1975 except GitError:
1972 # There is no such persistent revision. We have to fetch it. 1976 # There is no such persistent revision. We have to fetch it.
diff --git a/tests/test_git_superproject.py b/tests/test_git_superproject.py
index c3f88531..6ff81843 100644
--- a/tests/test_git_superproject.py
+++ b/tests/test_git_superproject.py
@@ -213,7 +213,7 @@ class SuperprojectTestCase(unittest.TestCase):
213 '<remote fetch="http://localhost" name="default-remote"/>' 213 '<remote fetch="http://localhost" name="default-remote"/>'
214 '<default remote="default-remote" revision="refs/heads/main"/>' 214 '<default remote="default-remote" revision="refs/heads/main"/>'
215 '<project groups="notdefault,platform-' + self.platform + '" ' 215 '<project groups="notdefault,platform-' + self.platform + '" '
216 'name="platform/art" path="art" revision="ABCDEF"/>' 216 'name="platform/art" path="art" revision="ABCDEF" upstream="refs/heads/main"/>'
217 '<superproject name="superproject"/>' 217 '<superproject name="superproject"/>'
218 '</manifest>') 218 '</manifest>')
219 219
@@ -242,7 +242,7 @@ class SuperprojectTestCase(unittest.TestCase):
242 '<default remote="default-remote" revision="refs/heads/main"/>' 242 '<default remote="default-remote" revision="refs/heads/main"/>'
243 '<project groups="notdefault,platform-' + self.platform + '" ' 243 '<project groups="notdefault,platform-' + self.platform + '" '
244 'name="platform/art" path="art" ' 244 'name="platform/art" path="art" '
245 'revision="2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea"/>' 245 'revision="2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea" upstream="refs/heads/main"/>'
246 '<superproject name="superproject"/>' 246 '<superproject name="superproject"/>'
247 '</manifest>') 247 '</manifest>')
248 248
@@ -271,7 +271,7 @@ class SuperprojectTestCase(unittest.TestCase):
271 '<?xml version="1.0" ?><manifest>' 271 '<?xml version="1.0" ?><manifest>'
272 '<remote fetch="http://localhost" name="default-remote"/>' 272 '<remote fetch="http://localhost" name="default-remote"/>'
273 '<default remote="default-remote" revision="refs/heads/main"/>' 273 '<default remote="default-remote" revision="refs/heads/main"/>'
274 '<project name="test-name" revision="ABCDEF"/>' 274 '<project name="test-name" revision="ABCDEF" upstream="refs/heads/main"/>'
275 '</manifest>') 275 '</manifest>')
276 276
277 def test_superproject_update_project_revision_id_from_local_manifest_group(self): 277 def test_superproject_update_project_revision_id_from_local_manifest_group(self):
@@ -316,7 +316,7 @@ class SuperprojectTestCase(unittest.TestCase):
316 '<default remote="default-remote" revision="refs/heads/main"/>' 316 '<default remote="default-remote" revision="refs/heads/main"/>'
317 '<project groups="notdefault,platform-' + self.platform + '" ' 317 '<project groups="notdefault,platform-' + self.platform + '" '
318 'name="platform/art" path="art" ' 318 'name="platform/art" path="art" '
319 'revision="2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea"/>' 319 'revision="2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea" upstream="refs/heads/main"/>'
320 '<project clone-depth="1" groups="' + local_group + '" ' 320 '<project clone-depth="1" groups="' + local_group + '" '
321 'name="platform/vendor/x" path="vendor/x" remote="goog" ' 321 'name="platform/vendor/x" path="vendor/x" remote="goog" '
322 'revision="master-with-vendor"/>' 322 'revision="master-with-vendor"/>'
@@ -363,9 +363,9 @@ class SuperprojectTestCase(unittest.TestCase):
363 '<default remote="default-remote" revision="refs/heads/main"/>' 363 '<default remote="default-remote" revision="refs/heads/main"/>'
364 '<project groups="notdefault,platform-' + self.platform + '" ' 364 '<project groups="notdefault,platform-' + self.platform + '" '
365 'name="platform/art" path="art" ' 365 'name="platform/art" path="art" '
366 'revision="2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea"/>' 366 'revision="2c2724cb36cd5a9cec6c852c681efc3b7c6b86ea" upstream="refs/heads/main"/>'
367 '<project name="platform/vendor/x" path="vendor/x" ' 367 '<project name="platform/vendor/x" path="vendor/x" '
368 'revision="e9d25da64d8d365dbba7c8ee00fe8c4473fe9a06"/>' 368 'revision="e9d25da64d8d365dbba7c8ee00fe8c4473fe9a06" upstream="refs/heads/main"/>'
369 '<project name="platform/vendor/y" path="vendor/y" ' 369 '<project name="platform/vendor/y" path="vendor/y" '
370 'revision="52d3c9f7c107839ece2319d077de0cd922aa9d8f"/>' 370 'revision="52d3c9f7c107839ece2319d077de0cd922aa9d8f"/>'
371 '<superproject name="superproject"/>' 371 '<superproject name="superproject"/>'
diff --git a/tests/test_manifest_xml.py b/tests/test_manifest_xml.py
index 2a16900a..55468b51 100644
--- a/tests/test_manifest_xml.py
+++ b/tests/test_manifest_xml.py
@@ -437,7 +437,7 @@ class ProjectElementTests(ManifestParseTestCase):
437 '<?xml version="1.0" ?><manifest>' 437 '<?xml version="1.0" ?><manifest>'
438 '<remote fetch="http://localhost" name="default-remote"/>' 438 '<remote fetch="http://localhost" name="default-remote"/>'
439 '<default remote="default-remote" revision="refs/heads/main"/>' 439 '<default remote="default-remote" revision="refs/heads/main"/>'
440 '<project name="test-name" revision="ABCDEF"/>' 440 '<project name="test-name" revision="ABCDEF" upstream="refs/heads/main"/>'
441 '</manifest>') 441 '</manifest>')
442 442
443 def test_trailing_slash(self): 443 def test_trailing_slash(self):