< prev index next >

./jcheck.py

Print this page

        

@@ -41,11 +41,11 @@
 # For more information: http://openjdk.java.net/projects/code-tools/jcheck/
 
 _version = "@VERSION@"
 _date = "@DATE@"
 
-import sys, os, re, urllib, urllib2, json
+import sys, os, re, urllib, urllib2, json, inspect
 from mercurial.node import *
 from mercurial import cmdutil, context, error, patch, templater, util, utils
 try:
     # Mercurial 4.3 and higher
     from mercurial import registrar

@@ -676,16 +676,19 @@
     def c_03_hash(self, ctx):
         hash = hex(ctx.node())
         if hash in self.blacklist:
             self.error(ctx, "Blacklisted changeset: " + hash)
 
-    def check(self, node):
+    def check(self, rev, node):
         self.summarized = False
         self.cs_bugids = [ ]
         self.cs_author = None
         self.cs_reviewers = [ ]
         self.cs_contributor = None
+        if len(inspect.getargspec(context.changectx.__init__).args) == 4:
+            ctx = context.changectx(self.repo, rev, node)
+        else:
         ctx = context.changectx(self.repo, node)
         self.ui.note(oneline(ctx))
         if hex(node) in changeset_whitelist:
             self.ui.note("%s in whitelist; skipping\n" % hex(node))
             return Pass

@@ -739,11 +742,11 @@
     firstnode = bin(node)
     start = repo.changelog.rev(firstnode)
     end = (hasattr(repo.changelog, 'count') and repo.changelog.count() or
            len(repo.changelog))
     for rev in xrange(start, end):
-        ch.check(repo.changelog.node(rev))
+        ch.check(rev, repo.changelog.node(rev))
     if ch.rv == Fail:
         ui.status("\n")
     return ch.rv
 
 

@@ -796,11 +799,11 @@
 
     try:
         nop = lambda c, fns: None
         iter = cmdutil.walkchangerevs(repo, _matchall(repo), opts, nop)
         for ctx in iter:
-            ch.check(ctx.node())
+            ch.check(ctx, ctx.node())
     except (AttributeError, TypeError):
         # AttributeError:  matchall does not exist in hg < 1.1
         # TypeError:  walkchangerevs args differ in hg <= 1.3.1
         get = util.cachefunc(lambda r: repo.changectx(r).changeset())
         changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, [], get, opts)

@@ -809,11 +812,11 @@
         for st, rev, fns in changeiter:
             if st == 'add':
                 node = repo.changelog.node(rev)
                 if ui.debugflag:
                     displayer.show(rev, node, copies=False)
-                ch.check(node)
+                ch.check(rev, node)
             elif st == 'iter':
                 if ui.debugflag:
                     displayer.flush(rev)
 
     if ch.rv == Fail:
< prev index next >