view tests/test-update-reverse @ 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 7544700fd931
children
line wrap: on
line source

#!/bin/sh

hg init
touch a
hg add a
hg commit -m "Added a" -d "1000000 0"

touch main
hg add main
hg commit -m "Added main" -d "1000000 0"
hg checkout 0

echo Main should be gone
ls

touch side1
hg add side1
hg commit -m "Added side1" -d "1000000 0"
touch side2
hg add side2
hg commit -m "Added side2" -d "1000000 0"

hg log

echo Should have two heads, side2 and main
hg heads

echo Should show "a side1 side2"
ls

hg update --debug -C 1
echo Should only show "a main"
ls