use 'x is None' instead of 'x == None'
The built-in None object is a singleton and it is therefore safe to
compare memory addresses with is. It is also faster, how much depends
on the object being compared. For a simple type like str I get:
| s = "foo" | s = None
----------+-----------+----------
s == None | 0.25 usec | 0.21 usec
s is None | 0.17 usec | 0.17 usec
#!/bin/sh
rm -rf a
hg init a
cd a
touch a
hg ci -Am0
hg mv a a1
hg ci -m1
hg co 0
hg mv a a2
hg up
hg ci -m2
touch a
hg ci -Am3
hg mv a b
hg ci -Am4 a
hg ci --debug --traceback -Am5 b
hg verify
hg export --git tip