[PATCH STABLE] revset: fix traceback for bogus revisions in id(rev)

Matt Harbison matt_harbison at yahoo.com
Mon May 14 18:42:05 CDT 2012


# HG changeset patch
# User Matt Harbison <matt_harbison at yahoo.com>
# Date 1337037913 14400
# Branch stable
# Node ID 710b22cedddabff32d937a8e42c7ada706601bd8
# Parent  40cdf8bc8d4037405e52a1a2c491c3fb54153575
revset: fix traceback for bogus revisions in id(rev)

hg log -r "id(1234567)" now returns an empty list like rev() does.

diff --git a/mercurial/revset.py b/mercurial/revset.py
--- a/mercurial/revset.py
+++ b/mercurial/revset.py
@@ -740,7 +740,11 @@
     if len(n) == 40:
         rn = repo[n].rev()
     else:
-        rn = repo.changelog.rev(repo.changelog._partialmatch(n))
+        rn = None
+        pm = repo.changelog._partialmatch(n)
+        if pm is not None:
+            rn = repo.changelog.rev(pm)
+
     return [r for r in subset if r == rn]
 
 def outgoing(repo, subset, x):


More information about the Mercurial-devel mailing list