[PATCH] templater: shorten pure integers
Sean Farley
sean.michael.farley at gmail.com
Fri Feb 21 14:10:27 CST 2014
# HG changeset patch
# User Sean Farley <sean.michael.farley at gmail.com>
# Date 1392878773 21600
# Thu Feb 20 00:46:13 2014 -0600
# Node ID efb1ea090de450c95d87e9a9c14cbf4a07bba4f9
# Parent c1febc167d87a9f078707db9b8defa8fdf492fe9
templater: shorten pure integers
Originally, the addition of the 'shorten' template function in 9c6b86dd2ed2
would not consider pure integers for shortening. This patch considers two
simple cases: when the integer starts with zero (which is parsed by Mercurial
as a hash first) and when the integer is larger than the tip (obviously not a
rev).
diff --git a/mercurial/templater.py b/mercurial/templater.py
--- a/mercurial/templater.py
+++ b/mercurial/templater.py
@@ -414,11 +414,16 @@ def shortest(context, mapping, args):
# Fallback to the slow way.
if cl._partialmatch(test) is None:
return False
try:
- int(test)
+ i = int(test)
+ # if we are a pure int, then starting with zero will not be
+ # confused as a rev; or, obviously, if the int larger than the
+ # value of the tip
+ if test[0] == '0' or i > len(cl):
+ return True
return False
except ValueError:
return True
except error.RevlogError:
return False
More information about the Mercurial-devel
mailing list