From 435370c6f0e202378ae233cf1088e499ba07e971 Mon Sep 17 00:00:00 2001 From: Brian Harring Date: Sat, 28 Jul 2012 15:37:04 -0700 Subject: [PATCH] upload: add --draft option. Change-Id: I6967ff2f8163cd4116027b3f15ddb36875942af4 --- project.py | 16 ++++++++++++---- subcmds/upload.py | 5 ++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/project.py b/project.py index 66a123d2..68c1c687 100644 --- a/project.py +++ b/project.py @@ -176,10 +176,11 @@ class ReviewableBranch(object): R_HEADS + self.name, '--') - def UploadForReview(self, people, auto_topic=False): + def UploadForReview(self, people, auto_topic=False, draft=False): self.project.UploadForReview(self.name, people, - auto_topic=auto_topic) + auto_topic=auto_topic, + draft=draft) def GetPublishedRefs(self): refs = {} @@ -881,7 +882,8 @@ class Project(object): def UploadForReview(self, branch=None, people=([],[]), - auto_topic=False): + auto_topic=False, + draft=False): """Uploads the named branch for code review. """ if branch is None: @@ -920,7 +922,13 @@ class Project(object): if dest_branch.startswith(R_HEADS): dest_branch = dest_branch[len(R_HEADS):] - ref_spec = '%s:refs/for/%s' % (R_HEADS + branch.name, dest_branch) + + upload_type = 'for' + if draft: + upload_type = 'drafts' + + ref_spec = '%s:refs/%s/%s' % (R_HEADS + branch.name, upload_type, + dest_branch) if auto_topic: ref_spec = ref_spec + '/' + branch.name cmd.append(ref_spec) diff --git a/subcmds/upload.py b/subcmds/upload.py index 69efa107..c9312973 100644 --- a/subcmds/upload.py +++ b/subcmds/upload.py @@ -134,6 +134,9 @@ Gerrit Code Review: http://code.google.com/p/gerrit/ p.add_option('--cbr', '--current-branch', dest='current_branch', action='store_true', help='Upload current git branch.') + p.add_option('-d', '--draft', + action='store_true', dest='draft', default=False, + help='If specified, upload as a draft.') # 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. @@ -324,7 +327,7 @@ Gerrit Code Review: http://code.google.com/p/gerrit/ key = 'review.%s.uploadtopic' % branch.project.remote.review opt.auto_topic = branch.project.config.GetBoolean(key) - branch.UploadForReview(people, auto_topic=opt.auto_topic) + branch.UploadForReview(people, auto_topic=opt.auto_topic, draft=opt.draft) branch.uploaded = True except UploadError, e: branch.error = e