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
echo % initialize remote repo with branches
hg init remote
cd remote
echo a > a
hg ci -Ama
hg branch br
hg ci -Amb
echo c > c
hg ci -Amc
hg log
cd ..
echo % try cloning -r branch
hg clone -rbr remote local1
hg -R local1 parents
echo % try cloning -rother clone#branch
hg clone -r0 remote#br local2
hg -R local2 parents
echo % try cloning -r1 clone#branch
hg clone -r1 remote#br local3
hg -R local3 parents