Repository: mesos
Updated Branches:
  refs/heads/master 17eb5d37b -> d6f8620fd


Changed review bot trigger to include dependency changes.

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


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

Branch: refs/heads/master
Commit: d6f8620fd76d24a6e8efe1f6784557189de04f00
Parents: 17eb5d3
Author: Dominic Hamon <[email protected]>
Authored: Fri Mar 21 11:44:50 2014 -0700
Committer: Vinod Kone <[email protected]>
Committed: Fri Mar 21 11:44:50 2014 -0700

----------------------------------------------------------------------
 support/verify-reviews.py | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/d6f8620f/support/verify-reviews.py
----------------------------------------------------------------------
diff --git a/support/verify-reviews.py b/support/verify-reviews.py
index 5bfa1a5..2ee777f 100755
--- a/support/verify-reviews.py
+++ b/support/verify-reviews.py
@@ -83,6 +83,7 @@ def apply_reviews(review_request, applied):
     applied.append(review_request["id"])
     apply_review(review_request["id"])
 
+
 def post_review(review_request, message):
     print "Posting review: %s" % message
 
@@ -164,9 +165,21 @@ def needs_verification(review_request):
             print "Latest review timestamp: %s" % review_time
             break
 
-    # Needs verification if there is a new diff after the last time it
-    # was verified.
-    return not review_time or review_time < diff_time
+    # TODO: Apply this check recursively up the dependency chain.
+    changes_url = review_request["links"]["changes"]["href"]
+    changes = api(changes_url)
+    dependency_time = None
+    for change in changes["changes"]:
+        if "depends_on" in change["fields_changed"]:
+            timestamp = change["timestamp"]
+            dependency_time = datetime.strptime(timestamp, RB_DATE_FORMAT)
+            print "Latest dependency change timestamp: %s" % dependency_time
+            break
+
+    # Needs verification if there is a new diff, or if the dependencies 
changed,
+    # after the last time it was verified.
+    return not review_time or review_time < diff_time or \
+        (dependency_time and review_time < dependency_time)
 
 
 if __name__=="__main__":

Reply via email to