Mercurial > hg > mercurial-crew-with-dirclash
view tests/test-mq-guards.out @ 4135:6cb6cfe43c5d
Avoid some false positives for addremove -s
The original code uses the similary score
1 - len(diff(after, before)) / len(after)
The diff can at most be the size of the 'before' file, so any small
'before' file would be considered very similar. Removing an empty file
would cause all files added in the same revision to be considered
copies of the removed file.
This changes the metric to
bytes_overlap(before, after) / len(before + after)
i.e. the actual percentage of bytes shared between the two files.
author | Erling Ellingsen <erlingalf@gmail.com> |
---|---|
date | Sun, 18 Feb 2007 20:39:25 +0100 |
parents | a9ee6c53af8d |
children | 943f40b4da30 |
line wrap: on
line source
adding x Patch queue now empty % should fail abort: no patch named does-not-exist.patch % should fail abort: no patches applied applying a.patch Now at: a.patch % should guard a.patch % should print +a a.patch: +a Patch queue now empty a.patch: +a % should push b.patch applying b.patch Now at: b.patch Patch queue now empty number of unguarded, unapplied patches has changed from 2 to 3 % should push a.patch applying a.patch Now at: a.patch % should print -a c.patch: -a % should skip c.patch applying b.patch skipping c.patch - guarded by '-a' Now at: b.patch % should push c.patch applying c.patch Now at: c.patch Patch queue now empty guards deactivated number of unguarded, unapplied patches has changed from 3 to 2 % should push all applying b.patch applying c.patch Now at: c.patch Patch queue now empty number of unguarded, unapplied patches has changed from 1 to 2 % should push a.patch, not b.patch applying a.patch Now at: a.patch applying c.patch Now at: c.patch Patch queue now empty % should push b.patch applying b.patch Now at: b.patch Patch queue now empty number of unguarded, unapplied patches has changed from 2 to 3 % should push a.patch, b.patch applying a.patch Now at: a.patch applying b.patch Now at: b.patch Patch queue now empty number of unguarded, unapplied patches has changed from 3 to 2 % list patches and guards a.patch: +1 +2 -3 b.patch: +2 c.patch: unguarded % list series 0 G a.patch 1 U b.patch 2 U c.patch % list guards 1 2 3 % should push b.patch applying b.patch Now at: b.patch applying c.patch Now at: c.patch guards deactivated popping guarded patches Patch queue now empty reapplying unguarded patches applying c.patch Now at: c.patch % guards in series file: +1 +2 -3 +1 +2 -3 % should show c.patch c.patch % should show : % new.patch: +1 +2 -3 % b.patch: +2 % c.patch: unguarded new.patch: +1 +2 -3 b.patch: +2 c.patch: unguarded Now at: c.patch % should show new.patch and b.patch as Guarded, c.patch as Applied % and d.patch as Unapplied 0 G new.patch 1 G b.patch 2 A c.patch 3 U d.patch % new.patch, b.patch: Guarded. c.patch: Applied. d.patch: Guarded. 0 G new.patch 1 G b.patch 2 A c.patch 3 G d.patch