Add core copy detection algorithm
This adds findcopies, which detects merge-relevant copies between
files in a pair of manifests back to the merge ancestor.
While the merge code invokes the copy detection routine, it does not
yet use the result.
#!/bin/sh
#
# Corrupt an hg repo with two pulls.
#
# create one repo with a long history
hg init source1
cd source1
touch foo
hg add foo
for i in 1 2 3 4 5 6 7 8 9 10; do
echo $i >> foo
hg ci -m $i
done
cd ..
# create a third repo to pull both other repos into it
hg init version2
hg -R version2 pull source1 &
sleep 1
hg clone --pull -U version2 corrupted
wait
hg -R corrupted verify
hg -R version2 verify