revlog: fix revlogio.packentry corner case
We want to store version information about the revlog in the first
entry of its index. The code in packentry was using some heuristics
to detect whether this was the first entry, but these heuristics could
fail in some cases (e.g. rev 0 was empty; rev 1 descends directly from
the nullid and is stored as a delta).
We now give the revision number to packentry to avoid heuristics.
#!/bin/sh
# Environement setup for MQ
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
#Repo init
hg init
hg qinit
echo =======================
echo "Should fail if no patches applied"
hg qrefresh
hg qrefresh -e
hg qnew -m "First commit message" first-patch
echo aaaa > file
hg add file
hg qrefresh
echo =======================
echo "Should display 'First commit message'"
hg log -l1 -v | sed -n '/description/,$p'
echo
# Testing changing message with -m
echo bbbb > file
hg qrefresh -m "Second commit message"
echo =======================
echo "Should display 'Second commit message'"
hg log -l1 -v | sed -n '/description/,$p'
echo
# Testing changing message with -l
echo "Third commit message" > logfile
echo " This is the 3rd log message" >> logfile
echo bbbb > file
hg qrefresh -l logfile
echo =======================
printf "Should display 'Third commit message\\\n This is the 3rd log message'\n"
hg log -l1 -v | sed -n '/description/,$p'
echo
# Testing changing message with -l-
hg qnew -m "First commit message" second-patch
echo aaaa > file2
hg add file2
echo bbbb > file2
(echo "Fifth commit message"
echo " This is the 5th log message" >> logfile) |\
hg qrefresh -l-
echo =======================
printf "Should display 'Fifth commit message\\\n This is the 5th log message'\n"
hg log -l1 -v | sed -n '/description/,$p'
echo