Added '--chain' option to apply-reviews.py.

Review: https://reviews.apache.org/r/39420


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/68cefcba
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/68cefcba
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/68cefcba

Branch: refs/heads/master
Commit: 68cefcbae365796a65b22450297c4207cf276955
Parents: c3e7ee7
Author: Artem Harutyunyan <[email protected]>
Authored: Sat Dec 12 10:51:01 2015 -0800
Committer: Joris Van Remoortere <[email protected]>
Committed: Sat Dec 12 10:53:47 2015 -0800

----------------------------------------------------------------------
 support/apply-reviews.py | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/68cefcba/support/apply-reviews.py
----------------------------------------------------------------------
diff --git a/support/apply-reviews.py b/support/apply-reviews.py
index 7ef447b..b8a0b6d 100755
--- a/support/apply-reviews.py
+++ b/support/apply-reviews.py
@@ -285,6 +285,9 @@ def parse_options():
   parser.add_argument('-n', '--no-amend',
                       action='store_true',
                       help='Do not amend commit message.')
+  parser.add_argument('-c', '--chain',
+                      action='store_true',
+                      help='Recursively apply parent review chain.')
 
   # Add -g and -r and make them mutually exclusive.
   group = parser.add_mutually_exclusive_group(required=True)
@@ -301,19 +304,21 @@ def parse_options():
   options['dry_run'] = args.dry_run
   options['no_amend'] = args.no_amend
   options['github'] = args.github
+  options['chain'] = args.chain
 
 
 def reviewboard():
-  """Applies a chain of reviewboard patches."""
-  # Retrieve the list of reviews to apply.
-  reviews = review_chain(options['review_id'])
-
-  applied = set()
-  for review_id, summary in reviews:
-    if review_id not in applied:
-      applied.add(review_id)
-      options['review_id'] = review_id
-      apply_review()
+  """Applies either a chain of reviewboard patches or a single patch."""
+  if options['chain']:
+    # Retrieve the list of reviews to apply.
+    applied = set()
+    for review_id, summary in review_chain(options['review_id']):
+      if review_id not in applied:
+        applied.add(review_id)
+        options['review_id'] = review_id
+        apply_review()
+  else:
+    apply_review()
 
 
 def github():

Reply via email to