summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'project.py')
-rw-r--r--project.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/project.py b/project.py
index f299297d..5a7a6ca8 100644
--- a/project.py
+++ b/project.py
@@ -157,11 +157,12 @@ class ReviewableBranch(object):
157 R_HEADS + self.name, 157 R_HEADS + self.name,
158 '--') 158 '--')
159 159
160 def UploadForReview(self, people, auto_topic=False, draft=False): 160 def UploadForReview(self, people, auto_topic=False, draft=False, dest_branch=None):
161 self.project.UploadForReview(self.name, 161 self.project.UploadForReview(self.name,
162 people, 162 people,
163 auto_topic=auto_topic, 163 auto_topic=auto_topic,
164 draft=draft) 164 draft=draft,
165 dest_branch=dest_branch)
165 166
166 def GetPublishedRefs(self): 167 def GetPublishedRefs(self):
167 refs = {} 168 refs = {}
@@ -497,7 +498,8 @@ class Project(object):
497 clone_depth = None, 498 clone_depth = None,
498 upstream = None, 499 upstream = None,
499 parent = None, 500 parent = None,
500 is_derived = False): 501 is_derived = False,
502 dest_branch = None):
501 """Init a Project object. 503 """Init a Project object.
502 504
503 Args: 505 Args:
@@ -517,6 +519,7 @@ class Project(object):
517 parent: The parent Project object. 519 parent: The parent Project object.
518 is_derived: False if the project was explicitly defined in the manifest; 520 is_derived: False if the project was explicitly defined in the manifest;
519 True if the project is a discovered submodule. 521 True if the project is a discovered submodule.
522 dest_branch: The branch to which to push changes for review by default.
520 """ 523 """
521 self.manifest = manifest 524 self.manifest = manifest
522 self.name = name 525 self.name = name
@@ -559,6 +562,7 @@ class Project(object):
559 self.work_git = None 562 self.work_git = None
560 self.bare_git = self._GitGetByExec(self, bare=True) 563 self.bare_git = self._GitGetByExec(self, bare=True)
561 self.bare_ref = GitRefs(gitdir) 564 self.bare_ref = GitRefs(gitdir)
565 self.dest_branch = dest_branch
562 566
563 # This will be filled in if a project is later identified to be the 567 # This will be filled in if a project is later identified to be the
564 # project containing repo hooks. 568 # project containing repo hooks.
@@ -908,7 +912,8 @@ class Project(object):
908 def UploadForReview(self, branch=None, 912 def UploadForReview(self, branch=None,
909 people=([],[]), 913 people=([],[]),
910 auto_topic=False, 914 auto_topic=False,
911 draft=False): 915 draft=False,
916 dest_branch=None):
912 """Uploads the named branch for code review. 917 """Uploads the named branch for code review.
913 """ 918 """
914 if branch is None: 919 if branch is None:
@@ -922,7 +927,10 @@ class Project(object):
922 if not branch.remote.review: 927 if not branch.remote.review:
923 raise GitError('remote %s has no review url' % branch.remote.name) 928 raise GitError('remote %s has no review url' % branch.remote.name)
924 929
925 dest_branch = branch.merge 930 if dest_branch is None:
931 dest_branch = self.dest_branch
932 if dest_branch is None:
933 dest_branch = branch.merge
926 if not dest_branch.startswith(R_HEADS): 934 if not dest_branch.startswith(R_HEADS):
927 dest_branch = R_HEADS + dest_branch 935 dest_branch = R_HEADS + dest_branch
928 936