Change revlog.heads to walk the revision graph using revision numbers
On the kernel repo:
$ hg heads -q
before after
RevlogNG 1.11 0.52
Revlogv0 0.80 0.69
Since the current code for tags has to find all the heads of the repo,
this also helps there:
$ hg tags
before after
RevlogNG 2.35 1.76
Revlogv0 2.04 1.90
#!/bin/sh
#
mkdir t
cd t
hg init
echo 0 > a
echo 0 > b
echo 0 > t.h
mkdir t
echo 0 > t/x
hg ci -A -m m -d "1000000 0"
touch nottracked
hg locate a
hg locate NONEXISTENT
hg locate
hg rm a
hg ci -m m -d "1000000 0"
hg locate a
hg locate NONEXISTENT
hg locate
hg locate -r 0 a
hg locate -r 0 NONEXISTENT
hg locate -r 0
echo % -I/-X with relative path should work
cd t
hg locate
hg locate -I ../t
# test issue294
cd ..
rm -rf t
hg locate t