summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'project.py')
-rw-r--r--project.py26
1 files changed, 15 insertions, 11 deletions
diff --git a/project.py b/project.py
index 07102d42..4bf1ecad 100644
--- a/project.py
+++ b/project.py
@@ -686,9 +686,13 @@ class Project(object):
686 self._userident_name = '' 686 self._userident_name = ''
687 self._userident_email = '' 687 self._userident_email = ''
688 688
689 def GetRemote(self, name): 689 def GetRemote(self, name=None):
690 """Get the configuration for a single remote. 690 """Get the configuration for a single remote.
691
692 Defaults to the current project's remote.
691 """ 693 """
694 if name is None:
695 name = self.remote.name
692 return self.config.GetRemote(name) 696 return self.config.GetRemote(name)
693 697
694 def GetBranch(self, name): 698 def GetBranch(self, name):
@@ -1282,7 +1286,7 @@ class Project(object):
1282 if self.revisionId: 1286 if self.revisionId:
1283 return self.revisionId 1287 return self.revisionId
1284 1288
1285 rem = self.GetRemote(self.remote.name) 1289 rem = self.GetRemote()
1286 rev = rem.ToLocal(self.revisionExpr) 1290 rev = rem.ToLocal(self.revisionExpr)
1287 1291
1288 if all_refs is not None and rev in all_refs: 1292 if all_refs is not None and rev in all_refs:
@@ -1474,7 +1478,7 @@ class Project(object):
1474 "discarding %d commits removed from upstream", 1478 "discarding %d commits removed from upstream",
1475 len(local_changes) - cnt_mine) 1479 len(local_changes) - cnt_mine)
1476 1480
1477 branch.remote = self.GetRemote(self.remote.name) 1481 branch.remote = self.GetRemote()
1478 if not ID_RE.match(self.revisionExpr): 1482 if not ID_RE.match(self.revisionExpr):
1479 # in case of manifest sync the revisionExpr might be a SHA1 1483 # in case of manifest sync the revisionExpr might be a SHA1
1480 branch.merge = self.revisionExpr 1484 branch.merge = self.revisionExpr
@@ -1532,7 +1536,7 @@ class Project(object):
1532 def DownloadPatchSet(self, change_id, patch_id): 1536 def DownloadPatchSet(self, change_id, patch_id):
1533 """Download a single patch set of a single change to FETCH_HEAD. 1537 """Download a single patch set of a single change to FETCH_HEAD.
1534 """ 1538 """
1535 remote = self.GetRemote(self.remote.name) 1539 remote = self.GetRemote()
1536 1540
1537 cmd = ['fetch', remote.name] 1541 cmd = ['fetch', remote.name]
1538 cmd.append('refs/changes/%2.2d/%d/%d' 1542 cmd.append('refs/changes/%2.2d/%d/%d'
@@ -1680,7 +1684,7 @@ class Project(object):
1680 capture_stderr=True).Wait() == 0 1684 capture_stderr=True).Wait() == 0
1681 1685
1682 branch = self.GetBranch(name) 1686 branch = self.GetBranch(name)
1683 branch.remote = self.GetRemote(self.remote.name) 1687 branch.remote = self.GetRemote()
1684 branch.merge = branch_merge 1688 branch.merge = branch_merge
1685 if not branch.merge.startswith('refs/') and not ID_RE.match(branch_merge): 1689 if not branch.merge.startswith('refs/') and not ID_RE.match(branch_merge):
1686 branch.merge = R_HEADS + branch_merge 1690 branch.merge = R_HEADS + branch_merge
@@ -2048,7 +2052,7 @@ class Project(object):
2048 self.bare_git.rev_list('-1', '--missing=allow-any', 2052 self.bare_git.rev_list('-1', '--missing=allow-any',
2049 '%s^0' % self.revisionExpr, '--') 2053 '%s^0' % self.revisionExpr, '--')
2050 if self.upstream: 2054 if self.upstream:
2051 rev = self.GetRemote(self.remote.name).ToLocal(self.upstream) 2055 rev = self.GetRemote().ToLocal(self.upstream)
2052 self.bare_git.rev_list('-1', '--missing=allow-any', 2056 self.bare_git.rev_list('-1', '--missing=allow-any',
2053 '%s^0' % rev, '--') 2057 '%s^0' % rev, '--')
2054 self.bare_git.merge_base('--is-ancestor', self.revisionExpr, rev) 2058 self.bare_git.merge_base('--is-ancestor', self.revisionExpr, rev)
@@ -2339,7 +2343,7 @@ class Project(object):
2339 if initial and (self.manifest.manifestProject.depth or self.clone_depth): 2343 if initial and (self.manifest.manifestProject.depth or self.clone_depth):
2340 return False 2344 return False
2341 2345
2342 remote = self.GetRemote(self.remote.name) 2346 remote = self.GetRemote()
2343 bundle_url = remote.url + '/clone.bundle' 2347 bundle_url = remote.url + '/clone.bundle'
2344 bundle_url = GitConfig.ForUser().UrlInsteadOf(bundle_url) 2348 bundle_url = GitConfig.ForUser().UrlInsteadOf(bundle_url)
2345 if GetSchemeFromUrl(bundle_url) not in ('http', 'https', 2349 if GetSchemeFromUrl(bundle_url) not in ('http', 'https',
@@ -2660,7 +2664,7 @@ class Project(object):
2660 2664
2661 def _InitRemote(self): 2665 def _InitRemote(self):
2662 if self.remote.url: 2666 if self.remote.url:
2663 remote = self.GetRemote(self.remote.name) 2667 remote = self.GetRemote()
2664 remote.url = self.remote.url 2668 remote.url = self.remote.url
2665 remote.pushUrl = self.remote.pushUrl 2669 remote.pushUrl = self.remote.pushUrl
2666 remote.review = self.remote.review 2670 remote.review = self.remote.review
@@ -2710,7 +2714,7 @@ class Project(object):
2710 dst = self.revisionId + '^0' 2714 dst = self.revisionId + '^0'
2711 active_git.UpdateRef(ref, dst, message=msg, detach=True) 2715 active_git.UpdateRef(ref, dst, message=msg, detach=True)
2712 else: 2716 else:
2713 remote = self.GetRemote(self.remote.name) 2717 remote = self.GetRemote()
2714 dst = remote.ToLocal(self.revisionExpr) 2718 dst = remote.ToLocal(self.revisionExpr)
2715 if cur != dst: 2719 if cur != dst:
2716 msg = 'manifest set to %s' % self.revisionExpr 2720 msg = 'manifest set to %s' % self.revisionExpr
@@ -3702,7 +3706,7 @@ class ManifestProject(MetaProject):
3702 3706
3703 # Set the remote URL before the remote branch as we might need it below. 3707 # Set the remote URL before the remote branch as we might need it below.
3704 if manifest_url: 3708 if manifest_url:
3705 r = self.GetRemote(self.remote.name) 3709 r = self.GetRemote()
3706 r.url = manifest_url 3710 r.url = manifest_url
3707 r.ResetFetch() 3711 r.ResetFetch()
3708 r.Save() 3712 r.Save()
@@ -3828,7 +3832,7 @@ class ManifestProject(MetaProject):
3828 clone_bundle=clone_bundle, current_branch_only=current_branch_only, 3832 clone_bundle=clone_bundle, current_branch_only=current_branch_only,
3829 tags=tags, submodules=submodules, clone_filter=clone_filter, 3833 tags=tags, submodules=submodules, clone_filter=clone_filter,
3830 partial_clone_exclude=self.manifest.PartialCloneExclude): 3834 partial_clone_exclude=self.manifest.PartialCloneExclude):
3831 r = self.GetRemote(self.remote.name) 3835 r = self.GetRemote()
3832 print('fatal: cannot obtain manifest %s' % r.url, file=sys.stderr) 3836 print('fatal: cannot obtain manifest %s' % r.url, file=sys.stderr)
3833 3837
3834 # Better delete the manifest git dir if we created it; otherwise next 3838 # Better delete the manifest git dir if we created it; otherwise next