portability fix for test-ssh
The __del__ method of sshrepo reads the stderr of the remote process
until EOF and prints it.
If an exception is raised, this method ends up being called:
- on Linux: after the "abort: ..." message is printed
- on OS X: before the "abort: ..." message is printed
This patch explicitly flushes the stderr of the remote process before
raising a RepoError.
#!/bin/sh
hg init
echo foo > foo
hg add foo
hg commit -m1 -d"0 0"
echo "# should show copy"
hg copy foo bar
hg debugstate|grep '^copy'
echo "# shouldn't show copy"
hg commit -m2 -d"0 0"
hg debugstate|grep '^copy'
echo "# should match"
hg debugindex .hg/data/foo.i
hg debugrename bar
echo bleah > foo
echo quux > bar
hg commit -m3 -d"0 0"
echo "# should not be renamed"
hg debugrename bar
hg copy -f foo bar
echo "# should show copy"
hg debugstate|grep '^copy'
hg commit -m3 -d"0 0"
echo "# should show no parents for tip"
hg debugindex .hg/data/bar.i
echo "# should match"
hg debugindex .hg/data/foo.i
hg debugrename bar
echo "# should show no copies"
hg debugstate|grep '^copy'
exit 0