merge: remember rename copies and parents properly on commit
record copies in dirstate even if rename was remote
this lets us record it properly at commit
teach checkfilemerge about copies, including merge cases
pull old copy code out of commit
extend rename-merge1 test to show file index
#!/bin/sh
hg init test
cd test
cat >>afile <<EOF
0
EOF
hg add afile
hg commit -m "0.0"
cat >>afile <<EOF
1
EOF
hg commit -m "0.1"
cat >>afile <<EOF
2
EOF
hg commit -m "0.2"
cat >>afile <<EOF
3
EOF
hg commit -m "0.3"
hg update -C 0
cat >>afile <<EOF
1
EOF
hg commit -m "1.1"
cat >>afile <<EOF
2
EOF
hg commit -m "1.2"
cat >fred <<EOF
a line
EOF
cat >>afile <<EOF
3
EOF
hg add fred
hg commit -m "1.3"
hg mv afile adifferentfile
hg commit -m "1.3m"
hg update -C 3
hg mv afile anotherfile
hg commit -m "0.3m"
hg debugindex .hg/data/afile.i
hg debugindex .hg/data/adifferentfile.i
hg debugindex .hg/data/anotherfile.i
hg debugindex .hg/data/fred.i
hg debugindex .hg/00manifest.i
hg verify
cd ..
for i in 0 1 2 3 4 5 6 7 8; do
mkdir test-"$i"
hg --cwd test-"$i" init
hg -R test push -r "$i" test-"$i"
cd test-"$i"
hg verify
cd ..
done
cd test-8
hg pull ../test-7
hg verify