From 71102ad25b071869b28c576fa234d4b7a672538b Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 12 May 2011 23:11:52 -0400 Subject: [PATCH] codereview: fix clpatch TBR=gri CC=golang-dev https://golang.org/cl/4534052 --- lib/codereview/codereview.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 != "":