diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -53,7 +53,10 @@ def addremove(ui, repo, *pats, **opts): between 0 (disabled) and 100 (files must be identical) as its parameter. Detecting renamed files this way can be expensive. """ - sim = float(opts.get('similarity') or 0) + try: + sim = float(opts.get('similarity') or 0) + except ValueError: + raise util.Abort(_('similarity must be a number')) if sim < 0 or sim > 100: raise util.Abort(_('similarity must be between 0 and 100')) return cmdutil.addremove(repo, pats, opts, similarity=sim/100.)