# HG changeset patch # User John Floren # Date 1317059436 25200 # Node ID 2e796f9cc420b9fb20220235a9a2132c97b47244 # Parent 731e3f37783ab6fb10f4efa712e757fc3b56b68f codereview.py: Added changes as seen in http://codereview.appspot.com/4686049/ to support Mercurial 1.9 R=nix-dev, nemo CC=nix-dev http://codereview.appspot.com/5121049 diff -r 731e3f37783a -r 2e796f9cc420 sys/lib/codereview/codereview.py --- a/sys/lib/codereview/codereview.py Mon Sep 26 18:03:54 2011 +0200 +++ b/sys/lib/codereview/codereview.py Mon Sep 26 10:50:36 2011 -0700 @@ -75,6 +75,12 @@ def findcommonincoming(repo, remote): return repo.findcommonincoming(remote) +# in Mercurial 1.9 the cmdutil.match and cmdutil.revpair moved to scmutil +if hgversion >= '1.9': + from mercurial import scmutil +else: + scmutil = cmdutil + oldMessage = """ The code review extension requires Mercurial 1.3 or newer. @@ -723,14 +729,14 @@ # Get effective change nodes taking into account applied MQ patches def effective_revpair(repo): try: - return cmdutil.revpair(repo, ['qparent']) + return scmutil.revpair(repo, ['qparent']) except: - return cmdutil.revpair(repo, None) + return scmutil.revpair(repo, None) # Return list of changed files in repository that match pats. # Warn about patterns that did not match. def matchpats(ui, repo, pats, opts): - matcher = cmdutil.match(repo, pats, opts) + matcher = scmutil.match(repo, pats, opts) node1, node2 = effective_revpair(repo) modified, added, removed, deleted, unknown, ignored, clean = repo.status(node1, node2, matcher, ignored=True, clean=True, unknown=True) return (modified, added, removed, deleted, unknown, ignored, clean) @@ -837,7 +843,6 @@ ''' - def promptremove(ui, repo, f): if promptyesno(ui, "hg remove %s (y/n)?" % (f,)): @@ -969,6 +974,11 @@ raise util.Abort("no files in CL " + clname) files = Add(files, cl.files) pats = Sub(pats, taken) + ['path:'+f for f in files] + + # work-around for http://selenic.com/hg/rev/785bbc8634f8 + if hgversion >= '1.9' and not hasattr(repo, 'match'): + repo = repo[None] + return original_match(repo, pats=pats, opts=opts, globbed=globbed, default=default) def RelativePath(path, cwd): @@ -1256,7 +1266,7 @@ # sequence numbers get to be 7 digits long. if re.match('^[0-9]{7,}$', clname): found = False - matchfn = cmdutil.match(repo, [], {'rev': None}) + matchfn = scmutil.match(repo, [], {'rev': None}) def prep(ctx, fns): pass for ctx in cmdutil.walkchangerevs(repo, matchfn, {'rev': None}, prep): @@ -1569,8 +1579,8 @@ global original_match if original_match is None: start_status_thread() - original_match = cmdutil.match - cmdutil.match = ReplacementForCmdutilMatch + original_match = scmutil.match + scmutil.match = ReplacementForCmdutilMatch RietveldSetup(ui, repo) def CheckContributor(ui, repo, user=None): @@ -1789,7 +1799,7 @@ break Rev(rev) else: - matchfn = cmdutil.match(repo, [], {'rev': None}) + matchfn = scmutil.match(repo, [], {'rev': None}) def prep(ctx, fns): pass for ctx in cmdutil.walkchangerevs(repo, matchfn, {'rev': None}, prep):