diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -253,7 +253,7 @@ status = -1 ret = _flushstdio(req.ui, err) - if ret: + if ret and not status: status = ret return status