view tests/test-copy2 @ 1877:d314a89fa4f1

change lock format to let us detect and break stale locks. old style: symlink to pid new style: symlink to hostname:pid if lock code finds new-style lock, it breaks lock if locking pid is on same machine and pid is not alive. otherwise, lock is left alone. this makes locking code safe with old-style locks and with locks on other machines. new code makes server part of mercurial more robust in case machine crashes, power fails, or crazy user does kill -9.
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Fri, 10 Mar 2006 08:31:31 -0800
parents 94f38724283f
children c0b449154a90
line wrap: on
line source

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