mercurial/windows.py
changeset 22245 234e4c24b980
parent 20202 a6014018ec28
child 23682 1642eb429536
--- a/mercurial/windows.py	Fri Aug 15 19:18:21 2014 -0700
+++ b/mercurial/windows.py	Fri Aug 15 20:02:18 2014 -0700
@@ -336,3 +336,18 @@
 def statisexec(st):
     '''check whether a stat result is an executable file'''
     return False
+
+def readpipe(pipe):
+    """Read all available data from a pipe."""
+    chunks = []
+    while True:
+        size = os.fstat(pipe.fileno()).st_size
+        if not size:
+            break
+
+        s = pipe.read(size)
+        if not s:
+            break
+        chunks.append(s)
+
+    return ''.join(chunks)