From: Russ Cox Date: Fri, 13 May 2011 03:11:52 +0000 (-0400) Subject: codereview: fix clpatch X-Git-Tag: weekly.2011-05-22~92 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=71102ad25b071869b28c576fa234d4b7a672538b;p=gostls13.git codereview: fix clpatch TBR=gri CC=golang-dev https://golang.org/cl/4534052 --- diff --git a/lib/codereview/codereview.py b/lib/codereview/codereview.py index 5fed5efdd0..f6e69a417f 100644 --- a/lib/codereview/codereview.py +++ b/lib/codereview/codereview.py @@ -1336,8 +1336,6 @@ def clpatch_or_undo(ui, repo, clname, opts, mode): return err if patch == emptydiff: return "codereview issue %s has no diff" % clname - if not repo[vers]: - return "codereview issue %s is newer than the current repository; hg sync" % clname # find current hg version (hg identify) ctx = repo[None] @@ -1347,7 +1345,12 @@ def clpatch_or_undo(ui, repo, clname, opts, mode): # if version does not match the patch version, # try to update the patch line numbers. if vers != "" and id != vers: - if vers not in repo: + # "vers in repo" gives the wrong answer + # on some versions of Mercurial. Instead, do the actual + # lookup and catch the exception. + try: + repo[vers].description() + except: return "local repository is out of date; sync to get %s" % (vers) patch, err = portPatch(repo, patch, vers, id) if err != "":