codereview: fix for Mercurial 1.9

Fixes #2038.

R=rsc, bobbypowers
CC=golang-dev
https://golang.org/cl/4675045
This commit is contained in:
Andrew Gerrand 2011-07-12 09:36:46 +10:00
parent 1722ec22cd
commit 762ea79057

View file

@ -75,6 +75,13 @@ except:
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.
@ -713,14 +720,14 @@ _change_prolog = """# Change list.
# 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)
@ -959,6 +966,11 @@ def ReplacementForCmdutilMatch(repo, pats=None, opts=None, globbed=False, defaul
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 not hasattr(repo, 'match'):
repo = repo[None]
return original_match(repo, pats=pats, opts=opts, globbed=globbed, default=default)
def RelativePath(path, cwd):
@ -1292,7 +1304,7 @@ def clpatch_or_undo(ui, repo, clname, opts, mode):
# 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):
@ -1607,8 +1619,8 @@ def reposetup(ui, repo):
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):
@ -1828,7 +1840,7 @@ def sync_changes(ui, repo):
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):