Mercurial > hg > mercurial-crew-with-dirclash
annotate tests/test-rename-merge1 @ 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 | c0b449154a90 |
children |
rev | line source |
---|---|
3155
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
1 #!/bin/sh |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
2 |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
3 mkdir t |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
4 cd t |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
5 hg init |
3257
c93ce7f10f85
merge: fixes for merge+rename
Matt Mackall <mpm@selenic.com>
parents:
3155
diff
changeset
|
6 echo "[merge]" >> .hg/hgrc |
c93ce7f10f85
merge: fixes for merge+rename
Matt Mackall <mpm@selenic.com>
parents:
3155
diff
changeset
|
7 echo "followcopies = 1" >> .hg/hgrc |
3155
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
8 echo foo > a |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
9 echo foo > a2 |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
10 hg add a a2 |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
11 hg ci -m "start" -d "0 0" |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
12 hg mv a b |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
13 hg mv a2 b2 |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
14 hg ci -m "rename" -d "0 0" |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
15 echo "checkout" |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
16 hg co 0 |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
17 echo blahblah > a |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
18 echo blahblah > a2 |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
19 hg mv a2 c2 |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
20 hg ci -m "modify" -d "0 0" |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
21 echo "merge" |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
22 hg merge -y --debug |
3257
c93ce7f10f85
merge: fixes for merge+rename
Matt Mackall <mpm@selenic.com>
parents:
3155
diff
changeset
|
23 hg status -AC |
3155
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
24 cat b |
c82ea81d6850
Add core copy detection algorithm
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
25 hg ci -m "merge" -d "0 0" |
3853
c0b449154a90
switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3295
diff
changeset
|
26 hg debugindex .hg/store/data/b.i |
3295
764688cf51e5
merge: remember rename copies and parents properly on commit
Matt Mackall <mpm@selenic.com>
parents:
3257
diff
changeset
|
27 hg debugrename b |