mercurial/commands.py
changeset 832 b65773f7db41
parent 818 eef752151556
child 836 1fe3b14c7044
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -1400,7 +1400,14 @@ def dispatch(args):
     except SignalInterrupt:
         u.warn("killed!\n")
     except KeyboardInterrupt:
-        u.warn("interrupted!\n")
+        try:
+            u.warn("interrupted!\n")
+        except IOError, inst:
+            if inst.errno == errno.EPIPE:
+                if u.debugflag:
+                    u.warn("\nbroken pipe\n")
+            else:
+                raise
     except IOError, inst:
         if hasattr(inst, "code"):
             u.warn("abort: %s\n" % inst)