Mercurial > hg
changeset 17712:c4717f44c1f1
fancyopts: don't show a traceback on invalid integer values
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Mon, 08 Oct 2012 15:35:16 +0200 |
parents | cf204e9829f4 |
children | 2c6382772db0 |
files | mercurial/fancyopts.py tests/test-import.t |
diffstat | 2 files changed, 10 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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([]):
--- a/tests/test-import.t Wed Oct 03 22:09:18 2012 +0200 +++ b/tests/test-import.t Mon Oct 08 15:35:16 2012 +0200 @@ -602,6 +602,9 @@ $ echo a > a $ hg ci -Am t adding a + $ hg import -p foo + abort: invalid value 'foo' for option -p, expected int + [255] $ hg import -p0 - << EOF > foobar > --- a Sat Apr 12 22:43:58 2008 -0400