--- a/mercurial/commands.py Fri Aug 18 21:18:01 2006 -0700
+++ b/mercurial/commands.py Fri Aug 18 22:13:58 2006 -0700
@@ -658,8 +658,17 @@
New files are ignored if they match any of the patterns in .hgignore. As
with add, these changes take effect at the next commit.
+
+ Use the -s option to detect renamed files. With a parameter > 0,
+ this compares every removed file with every added file and records
+ those similar enough as renames. This option takes a percentage
+ between 0 (disabled) and 100 (files must be identical) as its
+ parameter. Detecting renamed files this way can be expensive.
"""
- return cmdutil.addremove(repo, pats, opts)
+ sim = float(opts.get('similarity') or 0)
+ 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.)
def annotate(ui, repo, *pats, **opts):
"""show changeset information per file line
@@ -2747,7 +2756,10 @@
(addremove,
[('I', 'include', [], _('include names matching the given patterns')),
('X', 'exclude', [], _('exclude names matching the given patterns')),
- ('n', 'dry-run', None, _('do not perform actions, just print output'))],
+ ('n', 'dry-run', None,
+ _('do not perform actions, just print output')),
+ ('s', 'similarity', '',
+ _('guess renamed files by similarity (0<=s<=1)'))],
_('hg addremove [OPTION]... [FILE]...')),
"^annotate":
(annotate,