changeset 4967:cf67b5f3743d

merge with crew-stable
author Thomas Arendsen Hein <thomas@intevation.de>
date Sun, 22 Jul 2007 09:45:18 +0200
parents 4106dde15aed (current diff) 8d982aef0be1 (diff)
children 713426631adf
files mercurial/commands.py
diffstat 3 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Sat Jul 21 16:44:38 2007 -0500
+++ b/mercurial/commands.py	Sun Jul 22 09:45:18 2007 +0200
@@ -53,7 +53,10 @@
     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.)
--- a/tests/test-addremove-similar	Sat Jul 21 16:44:38 2007 -0500
+++ b/tests/test-addremove-similar	Sun Jul 22 09:45:18 2007 +0200
@@ -41,3 +41,9 @@
 
 hg commit -m B
 
+echo % should all fail
+hg addremove -s foo
+hg addremove -s -1
+hg addremove -s 1e6
+
+true
--- a/tests/test-addremove-similar.out	Sat Jul 21 16:44:38 2007 -0500
+++ b/tests/test-addremove-similar.out	Sun Jul 22 09:45:18 2007 +0200
@@ -14,3 +14,7 @@
 removing large-file
 removing tiny-file
 recording removal of tiny-file as rename to small-file (82% similar)
+% should all fail
+abort: similarity must be a number
+abort: similarity must be between 0 and 100
+abort: similarity must be between 0 and 100