simplemerge: flush stdout before writing to stderr.
Besides, stderr is not always unbuffered under win32 (when redirections occur for instance), and it should be flushed too.
#!/bin/sh
hg init dir
cd dir
echo bleh > bar
hg add bar
hg ci -m 'add bar'
hg cp bar foo
echo >> bar
hg ci -m 'cp bar foo; change bar'
hg debugrename foo
hg debugindex .hg/store/data/bar.i