add merge command. means same thing as "update -m".
repo.addchangegroup method now returns number of heads modified and added,
so command line can tell whether update or merge needed. this makes
tiny change to ssh wire protocol, but change is backwards compatible.
pull command now returns 0 if no changes to pull.
#!/bin/sh
hg init
echo foo > foo
hg add foo
hg commit -m1 -d"0 0"
echo "# should show copy"
hg copy foo bar
hg debugstate|grep '^copy'
echo "# shouldn't show copy"
hg commit -m2 -d"0 0"
hg debugstate|grep '^copy'
echo "# should match"
hg debugindex .hg/data/foo.i
hg debugrename bar
echo bleah > foo
echo quux > bar
hg commit -m3 -d"0 0"
echo "# should not be renamed"
hg debugrename bar
hg copy -f foo bar
echo "# should show copy"
hg debugstate|grep '^copy'
hg commit -m3 -d"0 0"
echo "# should show no parents for tip"
hg debugindex .hg/data/bar.i
echo "# should match"
hg debugindex .hg/data/foo.i
hg debugrename bar
echo "# should show no copies"
hg debugstate|grep '^copy'
exit 0