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
echo % init
hg init
echo % commit
echo 'a' > a
hg ci -A -m test -u nobody -d '1 0'
echo % annotate -c
hg annotate -c a
echo % annotate -d
hg annotate -d a
echo % annotate -n
hg annotate -n a
echo % annotate -u
hg annotate -u a
echo % annotate -cdnu
hg annotate -cdnu a
cat <<EOF >>a
a
a
EOF
hg ci -ma1 -d '1 0'
hg cp a b
hg ci -mb -d '1 0'
cat <<EOF >> b
b
b
b
EOF
hg ci -mb2 -d '2 0'
echo % annotate b
hg annotate b
echo % annotate -nf b
hg annotate -nf b
hg up -C 2
cat <<EOF >> b
b
c
b
EOF
hg ci -mb2.1 -d '2 0'
hg merge
hg ci -mmergeb -d '3 0'
echo % annotate after merge
hg annotate -nf b
hg up -C 1
hg cp a b
cat <<EOF > b
a
z
a
EOF
hg ci -mc -d '3 0'
hg merge
cat <<EOF >> b
b
c
b
EOF
echo d >> b
hg ci -mmerge2 -d '4 0'
echo % annotate after rename merge
hg annotate -nf b