mercurial/fancyopts.py
changeset 17712 c4717f44c1f1
parent 14943 d3bb825ddae3
child 20034 1e5b38a919dd
--- a/mercurial/fancyopts.py	Wed Oct 03 22:09:18 2012 +0200
+++ b/mercurial/fancyopts.py	Mon Oct 08 15:35:16 2012 +0200
@@ -5,7 +5,8 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
-import getopt
+import getopt, util
+from i18n import _
 
 def gnugetopt(args, options, longoptions):
     """Parse options mostly like getopt.gnu_getopt.
@@ -105,7 +106,11 @@
         if t is type(fancyopts):
             state[name] = defmap[name](val)
         elif t is type(1):
-            state[name] = int(val)
+            try:
+                state[name] = int(val)
+            except ValueError:
+                raise util.Abort(_('invalid value %r for option %s, '
+                                   'expected int') % (val, opt))
         elif t is type(''):
             state[name] = val
         elif t is type([]):