--- a/mercurial/scmutil.py Tue Apr 03 13:37:57 2018 -0400
+++ b/mercurial/scmutil.py Tue Apr 03 22:24:50 2018 +0900
@@ -754,7 +754,13 @@
opts = {}
m = matcher
dry_run = opts.get('dry_run')
- similarity = float(opts.get('similarity') or 0)
+ try:
+ similarity = float(opts.get('similarity') or 0)
+ except ValueError:
+ raise error.Abort(_('similarity must be a number'))
+ if similarity < 0 or similarity > 100:
+ raise error.Abort(_('similarity must be between 0 and 100'))
+ similarity /= 100.0
ret = 0
join = lambda f: os.path.join(prefix, f)