tests/test-copy2
author Vadim Gelfer <vadim.gelfer@gmail.com>
Mon, 08 May 2006 10:59:58 -0700
changeset 2221 05b6c13f43c6
parent 1252 94f38724283f
child 3853 c0b449154a90
permissions -rwxr-xr-x
reverse sense of return value from python hooks. old scheme (False/None/0/'' == fail) made coding style unnatural, did not allow use of mercurial commands as hooks. new scheme (False/None/0 == pass) is pythonic, does not require peculiar "return True" at ends of hooks, allows hooks like this: [hooks] # update working dir after push into this repo changegroup.update = python:mercurial.commands.update

#!/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