don't return uninitialized memory from bdiff.blocks()
bdiff.blocks() returns a dummy match at the end of both files; the
length of that chunk is never set, so it will sometimes contain random
heap garbage. There are apparently workarounds for this elsewhere:
# bdiff sometimes gives huge matches past eof, this check eats them,
#!/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 -r t
hg locate t