view tests/test-remove @ 2735:07026da25ed8

hbisect.py: don't rely on __del__ to write the current state. This is yet another page of the "Thou shalt not do too much inside __del__ methods" book, in the "demandload and __del__ don't go well together" chapter. The bisect extension is broken in 0.9.1: $ hg bisect init $ hg bisect bad Fatal Python error: Interpreter not initialized (version mismatch?) Aborted (yes, I tripled checked my instalation to make sure the problem is not there) It's been broken since revision fe1689273f84 moved the import of the binascii module into a demandload. (In details: the first time that "hg bisect bad" (or good) is called, there are still no revisions saved in .hg/bisect/*, so bisect.__init__ doesn't call hg.bin on anything. So, when we reach __del__, the binascii module still hasn't been imported and we get that "nice" message above.)
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Fri, 28 Jul 2006 21:20:41 -0300
parents b2f37c7026ca
children 890e285c52a1
line wrap: on
line source

#!/bin/sh

hg init a
cd a
echo a > foo
hg rm foo
hg add foo
hg commit -m 1 -d "1000000 0"
hg remove
rm foo
hg remove foo
hg revert
rm foo
hg remove --after
hg commit -m 2 -d "1000000 0"
hg export 0
hg export 1
hg log -p -r 0
hg log -p -r 1

echo a > a
hg add a
hg rm a
hg rm -f a
echo b > b
hg ci -A -m 3 -d "1000001 0"
echo c >> b
hg rm b
hg rm -f b

cd ..
hg clone a b