diff options
author | Russ Cox <rsc@golang.org> | 2009-11-20 00:30:38 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-11-20 00:30:38 -0800 |
commit | c6b26da4901d0a095c8d7f8f2a05edf3c11f3bdc (patch) | |
tree | 1df074e79555c22bdf7170923b007c05b3803bc3 /lib/codereview/codereview.py | |
parent | 7e51eb4a6b371c20486adfa507cfd164ef0c5c0c (diff) | |
download | golang-c6b26da4901d0a095c8d7f8f2a05edf3c11f3bdc.tar.gz |
codereview: make hg sync work with Mercurial 1.4
R=r
http://codereview.appspot.com/157102
Diffstat (limited to 'lib/codereview/codereview.py')
-rw-r--r-- | lib/codereview/codereview.py | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/lib/codereview/codereview.py b/lib/codereview/codereview.py index fbc9aeaab..3a5349132 100644 --- a/lib/codereview/codereview.py +++ b/lib/codereview/codereview.py @@ -1101,15 +1101,7 @@ def sync_changes(ui, repo): # Look through recent change log descriptions to find # potential references to http://.*/our-CL-number. # Double-check them by looking at the Rietveld log. - get = util.cachefunc(lambda r: repo[r].changeset()) - changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, [], get, {'rev': None}) - n = 0 - for st, rev, fns in changeiter: - if st != 'iter': - continue - n += 1 - if n > 100: - break + def Rev(rev): desc = repo[rev].description().strip() for clname in re.findall('(?m)^http://(?:[^\n]+)/([0-9]+)$', desc): if IsLocalCL(ui, repo, clname) and IsRietveldSubmitted(ui, clname, repo[rev].hex()): @@ -1118,9 +1110,28 @@ def sync_changes(ui, repo): if err != "": ui.warn("loading CL %s: %s\n" % (clname, err)) continue - EditDesc(cl.name, closed="checked") + if not cl.original_author: + EditDesc(cl.name, closed="checked") cl.Delete(ui, repo) + if hgversion < '1.4': + get = util.cachefunc(lambda r: repo[r].changeset()) + changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, [], get, {'rev': None}) + n = 0 + for st, rev, fns in changeiter: + if st != 'iter': + continue + n += 1 + if n > 100: + break + Rev(rev) + else: + matchfn = cmdutil.match(repo, [], {'rev': None}) + def prep(ctx, fns): + pass + for ctx in cmdutil.walkchangerevs(repo, matchfn, {'rev': None}, prep): + Rev(ctx.rev()) + # Remove files that are not modified from the CLs in which they appear. all = LoadAllCL(ui, repo, web=False) changed = ChangedFiles(ui, repo, [], {}) |