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
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