eol: improve hook failure output
Before, only the first failure was reported:
abort: b.txt should not have CRLF line endings
while now all of them are listed:
abort: end-of-line check failed:
d.txt in a7040e68714f should not have CRLF line endings
b.txt in fbcf9b1025f5 should not have CRLF line endings
As first suggested by Antoine Pitrou <solipsis@pitrou.net>
$ hg init
$ echo a > a
$ hg ci -Am0
adding a
$ hg -q clone . foo
$ touch .hg/store/journal
$ echo foo > a
$ hg ci -Am0
abort: abandoned transaction found - run hg recover!
[255]
$ hg recover
rolling back interrupted transaction
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
1 files, 1 changesets, 1 total revisions
Check that zero-size journals are correctly aborted:
$ hg bundle -qa repo.hg
$ chmod -w foo/.hg/store/00changelog.i
$ hg -R foo unbundle repo.hg
adding changesets
abort: Permission denied: $TESTTMP/foo/.hg/store/.00changelog.i-* (glob)
[255]
$ if test -f foo/.hg/store/journal; then echo 'journal exists :-('; fi