summaryrefslogtreecommitdiff
path: root/lib/codereview/codereview.py
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-11-20 00:30:38 -0800
committerRuss Cox <rsc@golang.org>2009-11-20 00:30:38 -0800
commitc6b26da4901d0a095c8d7f8f2a05edf3c11f3bdc (patch)
tree1df074e79555c22bdf7170923b007c05b3803bc3 /lib/codereview/codereview.py
parent7e51eb4a6b371c20486adfa507cfd164ef0c5c0c (diff)
downloadgolang-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.py31
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, [], {})