You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by vi...@apache.org on 2015/05/21 02:01:42 UTC

mesos git commit: Updated post-reviews.py to auto set 'depends on' field.

Repository: mesos
Updated Branches:
  refs/heads/master f1b3c095e -> 4dd48490d


Updated post-reviews.py to auto set 'depends on' field.

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


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

Branch: refs/heads/master
Commit: 4dd48490dfd931ce857d1e7331f6141970baa6b0
Parents: f1b3c09
Author: Vinod Kone <vi...@gmail.com>
Authored: Wed May 20 15:21:00 2015 -0700
Committer: Vinod Kone <vi...@gmail.com>
Committed: Wed May 20 16:12:21 2015 -0700

----------------------------------------------------------------------
 support/post-reviews.py | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/4dd48490/support/post-reviews.py
----------------------------------------------------------------------
diff --git a/support/post-reviews.py b/support/post-reviews.py
index 4849725..e871ceb 100755
--- a/support/post-reviews.py
+++ b/support/post-reviews.py
@@ -26,15 +26,9 @@ import atexit
 import os
 import sys
 
-from subprocess import *
-
-
-def readline(prompt):
-    try:
-        return raw_input(prompt)
-    except KeyboardInterrupt:
-        sys.exit(1)
+from distutils.version import LooseVersion
 
+from subprocess import call, Popen, PIPE, STDOUT
 
 def execute(command, ignore_errors=False):
     process = None
@@ -67,6 +61,7 @@ def execute(command, ignore_errors=False):
 post_review = None
 rbt_version = execute(['rbt', '--version'], ignore_errors=True)
 if rbt_version:
+  rbt_version = LooseVersion(rbt_version)
   post_review = ['rbt', 'post']
 elif execute(['post-review', '--version'], ignore_errors=True):
   post_review = ['post-review']
@@ -141,6 +136,7 @@ for line in log.split('\n'):
 
 
 previous = parent_branch
+parent_review_request_id = None
 for i in range(len(shas)):
     sha = shas[i]
 
@@ -188,6 +184,7 @@ for i in range(len(shas)):
     except KeyboardInterrupt:
         i = i + 1
         previous = sha
+        parent_review_request_id = review_request_id
         continue
 
     revision_range = previous + ':' + sha
@@ -199,9 +196,14 @@ for i in range(len(shas)):
         command = command + ['--review-request-id=' + review_request_id]
 
     # Determine how to specify the revision range.
-    if 'rbt' in post_review and not rbt_version.startswith('RBTools 0.5'):
-        # rbt >= 0.6 revisions are passed in as args.
-        command = command + sys.argv[1:] + [previous, sha]
+    if 'rbt' in post_review and rbt_version >= LooseVersion('RBTools 0.6'):
+       # rbt >= 0.6.1 supports '--depends-on' argument.
+       # Only set the "depends on" if this is not the first review in the chain.
+       if rbt_version >= LooseVersion('RBTools 0.6.1') and parent_review_request_id:
+         command = command + ['--depends-on=' + parent_review_request_id]
+
+       # rbt >= 0.6 revisions are passed in as args.
+       command = command + sys.argv[1:] + [previous, sha]
     else:
         # post-review and rbt < 0.6 revisions are passed in using the revision
         # range option.
@@ -213,9 +215,11 @@ for i in range(len(shas)):
 
     print output
 
+
     if review_request_id is not None:
         i = i + 1
         previous = sha
+        parent_review_request_id = review_request_id
         continue
 
     lines = output.split('\n')
@@ -263,3 +267,4 @@ for i in range(len(shas)):
     execute(['git', 'update-ref', 'refs/heads/' + branch, new_sha, old_sha])
 
     i = i + 1
+    parent_review_request_id = review_request_id