revlog: add a magic null revision to our index
We expand our index by one entry so that index[nullrev] points to a
unique entry, the null revision. This naturally eliminates numerous
extra tests in the performance-sensitive index access functions, most
of which are now trivial again.
Adding new entries is now done with insert(-1, e) rather than
append(e).
#!/bin/sh
cat > $HGRCPATH <<EOF
[extensions]
alias=
[alias]
myinit = init
cleanstatus = status -c
unknown = bargle
ambiguous = s
recursive = recursive
EOF
echo '% basic'
hg myinit alias
echo '% unknown'
hg unknown
echo '% ambiguous'
hg ambiguous
echo '% recursive'
hg recursive
cd alias
echo foo > foo
hg ci -Amfoo
echo '% with opts'
hg cleanst