# HG changeset patch # User Yuya Nishihara # Date 2018-04-03 13:24:50 # Node ID 6942c73f0733419929fc687d21fd6896272fbf09 # Parent 611e466662af7ef616f12c62fcc942e2bb5c9474 addremove: pass command-level similarity value down to scmutil.addremove() Since we've changed to carry a similarity value by opts dict, it makes sense to leave a string '0'-'100' value unmodified. diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -247,13 +247,8 @@ def addremove(ui, repo, *pats, **opts): Returns 0 if all files are successfully added. """ opts = pycompat.byteskwargs(opts) - try: - sim = float(opts.get('similarity') or 100) - except ValueError: - raise error.Abort(_('similarity must be a number')) - if sim < 0 or sim > 100: - raise error.Abort(_('similarity must be between 0 and 100')) - opts['similarity'] = sim / 100.0 + if not opts.get('similarity'): + opts['similarity'] = '100' matcher = scmutil.match(repo[None], pats, opts) return scmutil.addremove(repo, matcher, "", opts) diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -754,7 +754,13 @@ def addremove(repo, matcher, prefix, opt 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)