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 basic functionality of url#rev syntax
hg init repo
cd repo
echo a > a
hg ci -qAm 'add a' -d '0 0'
hg branch foo
echo >> a
hg ci -m 'change a' -d '0 0'
cd ..
echo '% clone repo#foo'
hg clone 'repo#foo' clone
echo '% heads'
hg --cwd clone heads
echo '% parents'
hg --cwd clone parents
sed -e 's/default.*#/default = #/' clone/.hg/hgrc
echo
echo '% changing original repo'
cd repo
echo >> a
hg ci -m 'new head of branch foo' -d '0 0'
hg up -qC default
echo bar > bar
hg ci -qAm 'add bar' -d '0 0'
hg log
echo
echo '% outgoing'
hg -q outgoing '../clone#foo'
echo
echo '% push'
hg -q push '../clone#foo'
hg --cwd ../clone heads
cd ..
echo
echo '% rolling back'
cd clone
hg rollback
echo '% incoming'
hg -q incoming
echo '% pull'
hg -q pull
hg heads
echo
echo '% pull should not have updated'
hg parents -q
echo '% going back to the default branch'
hg up -C 0
hg parents
echo '% no new revs, no update'
hg pull -qu
hg parents -q
echo '% rollback'
hg rollback
hg up -C 0
hg parents -q
echo '% pull -u takes us back to branch foo'
hg pull -qu
hg parents
echo '% rollback'
hg rollback
hg up -C 0
echo '% parents'
hg parents -q
echo '% heads'
hg heads -q
echo '% pull -u -r otherrev url#rev updates to rev'
hg pull -qur default default
echo '% parents'
hg parents
echo '% heads'
hg heads