diff --git a/mercurial/wireproto.py b/mercurial/wireproto.py
index e69a3cdad37ede0ed7897750235f89e85e220fca_bWVyY3VyaWFsL3dpcmVwcm90by5weQ==..ca6accdad79c6026023505d5f48e949f23d45758_bWVyY3VyaWFsL3dpcmVwcm90by5weQ== 100644
--- a/mercurial/wireproto.py
+++ b/mercurial/wireproto.py
@@ -239,8 +239,9 @@
                      old=encoding.fromlocal(old),
                      new=encoding.fromlocal(new)), f
         d = f.value
+        d, output = d.split('\n', 1)
         try:
             d = bool(int(d))
         except ValueError:
             raise error.ResponseError(
                 _('push failed (unexpected response):'), d)
@@ -242,8 +243,10 @@
         try:
             d = bool(int(d))
         except ValueError:
             raise error.ResponseError(
                 _('push failed (unexpected response):'), d)
+        for l in output.splitlines(True):
+            self.ui.status(_('remote: '), l)
         yield d
 
     @batchable