verify: report first bad changeset
- add linkrev and file arguments to err
- track lowest reported linkrev in err
- find linkrev in a couple cases
- sort linkrevs when reporting a bunch of errors against a file
- tidy up lots of messages
- make more robust against damaged indexes
- report first bad changeset if an error is encountered
#!/bin/sh
# Test issue 529 - mq aborts when merging patch deleting files
rewrite_path()
{
sed -e 's:\\:/:g' -e 's:[^ ]*/t/::g'
}
echo "[extensions]" >> $HGRCPATH
echo "hgext.mq=" >> $HGRCPATH
# Commit two dummy files in "init" changeset
hg init t
cd t
echo a > a
echo b > b
hg ci -Am init
hg tag -l init
# Create a patch removing a
hg qnew rm_a
hg rm a
hg qrefresh -m "rm a"
# Save the patch queue so we can merge it later
hg qsave -c -e 2>&1 | rewrite_path
# Update b and commit in an "update" changeset
hg up -C init
echo b >> b
hg st
hg ci -m update
# Here, qpush used to abort with :
# The system cannot find the file specified => a
hg manifest
hg qpush -a -m 2>&1 | rewrite_path
hg manifest
# ensure status is correct after merge
hg qpop -a