diff options
| author | Russ Cox <rsc@golang.org> | 2011-09-08 10:08:49 -0400 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2011-09-08 10:08:49 -0400 |
| commit | e7af22a64eec799ba9bfab2c1d269b99bee2fe5d (patch) | |
| tree | 5f8f0d1052e3f7411940ec2262794a7441d07987 /lib | |
| parent | cf0d8c0941308da40e54df73c16bffd1552a495d (diff) | |
| download | go-e7af22a64eec799ba9bfab2c1d269b99bee2fe5d.tar.xz | |
codereview: Mercurial 1.9 fix for hg diff @nnn
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4969063
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/codereview/codereview.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/codereview/codereview.py b/lib/codereview/codereview.py index 63f67fff97..1b70a29c6c 100644 --- a/lib/codereview/codereview.py +++ b/lib/codereview/codereview.py @@ -946,18 +946,20 @@ def CommandLineCL(ui, repo, pats, opts, defaultcc=None): # which expands the syntax @clnumber to mean the files # in that CL. original_match = None -def ReplacementForCmdutilMatch(repo, pats=None, opts=None, globbed=False, default='relpath'): +global_repo = None +def ReplacementForCmdutilMatch(ctx, pats=None, opts=None, globbed=False, default='relpath'): taken = [] files = [] pats = pats or [] opts = opts or {} + for p in pats: if p.startswith('@'): taken.append(p) clname = p[1:] if not GoodCLName(clname): raise util.Abort("invalid CL name " + clname) - cl, err = LoadCL(repo.ui, repo, clname, web=False) + cl, err = LoadCL(global_repo.ui, global_repo, clname, web=False) if err != '': raise util.Abort("loading CL " + clname + ": " + err) if not cl.files: @@ -966,10 +968,9 @@ def ReplacementForCmdutilMatch(repo, pats=None, opts=None, globbed=False, defaul 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) + if hgversion >= '1.9' and not hasattr(ctx, 'match'): + ctx = ctx[None] + return original_match(ctx, pats=pats, opts=opts, globbed=globbed, default=default) def RelativePath(path, cwd): n = len(cwd) @@ -1616,6 +1617,8 @@ def pending(ui, repo, *pats, **opts): def reposetup(ui, repo): global original_match if original_match is None: + global global_repo + global_repo = repo start_status_thread() original_match = scmutil.match scmutil.match = ReplacementForCmdutilMatch |
