view tests/test-bisect @ 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 61fcd9fac434
children
line wrap: on
line source

#!/bin/sh

set -e

echo "[extensions]" >> $HGRCPATH
echo "hbisect=" >> $HGRCPATH

echo % init
hg init

echo % committing changes
count=0
echo > a
while test $count -lt 32 ; do
    echo 'a' >> a
    test $count -eq 0 && hg add
    hg ci -m "msg $count" -d "$count 0"
    echo % committed changeset $count
    count=`expr $count + 1`
done

echo % log
hg log

echo % hg up -C
hg up -C

echo % bisect test
hg bisect init
hg bisect bad
hg bisect good 1
hg bisect good
hg bisect good
hg bisect good
hg bisect bad
hg bisect good