diff --git a/project.py b/project.py index 6252bd68..e5dbf25e 100644 --- a/project.py +++ b/project.py @@ -791,7 +791,7 @@ class Project(object): if R_HEADS + n not in heads: self.bare_git.DeleteRef(name, id) - def GetUploadableBranches(self): + def GetUploadableBranches(self, selected_branch=None): """List any branches which can be uploaded for review. """ heads = {} @@ -807,6 +807,8 @@ class Project(object): for branch, id in heads.iteritems(): if branch in pubed and pubed[branch] == id: continue + if selected_branch and branch != selected_branch: + continue rb = self.GetUploadableBranch(branch) if rb: diff --git a/subcmds/upload.py b/subcmds/upload.py index c561b8aa..c1958373 100644 --- a/subcmds/upload.py +++ b/subcmds/upload.py @@ -120,6 +120,9 @@ Gerrit Code Review: http://code.google.com/p/gerrit/ p.add_option('--cc', type='string', action='append', dest='cc', help='Also send email to these email addresses.') + p.add_option('--br', + type='string', action='store', dest='branch', + help='Branch to upload.') # Options relating to upload hook. Note that verify and no-verify are NOT # opposites of each other, which is why they store to different locations. @@ -336,9 +339,13 @@ Gerrit Code Review: http://code.google.com/p/gerrit/ pending = [] reviewers = [] cc = [] + branch = None + + if opt.branch: + branch = opt.branch for project in project_list: - avail = project.GetUploadableBranches() + avail = project.GetUploadableBranches(branch) if avail: pending.append((project, avail))