subrepo: normalize svn output line-endings
authorPatrick Mezard <pmezard@gmail.com>
Sat, 02 Jan 2010 16:03:25 +0100
changeset 10197 29e3c4a7699b
parent 10196 20d849251fe6
child 10198 c2168d170f05
subrepo: normalize svn output line-endings
mercurial/subrepo.py
mercurial/util.py
--- a/mercurial/subrepo.py	Sat Jan 02 15:48:05 2010 +0100
+++ b/mercurial/subrepo.py	Sat Jan 02 16:03:25 2010 +0100
@@ -261,7 +261,7 @@
         cmd = ['svn'] + commands + [self._path]
         cmd = [util.shellquote(arg) for arg in cmd]
         cmd = util.quotecommand(' '.join(cmd))
-        write, read, err = util.popen3(cmd)
+        write, read, err = util.popen3(cmd, newlines=True)
         retdata = read.read()
         err = err.read().strip()
         if err:
--- a/mercurial/util.py	Sat Jan 02 15:48:05 2010 +0100
+++ b/mercurial/util.py	Sat Jan 02 16:03:25 2010 +0100
@@ -38,19 +38,23 @@
 
 import subprocess
 closefds = os.name == 'posix'
-def popen2(cmd):
+
+def popen2(cmd, newlines=False):
     # Setting bufsize to -1 lets the system decide the buffer size.
     # The default for bufsize is 0, meaning unbuffered. This leads to
     # poor performance on Mac OS X: http://bugs.python.org/issue4194
     p = subprocess.Popen(cmd, shell=True, bufsize=-1,
                          close_fds=closefds,
-                         stdin=subprocess.PIPE, stdout=subprocess.PIPE)
+                         stdin=subprocess.PIPE, stdout=subprocess.PIPE,
+                         universal_newlines=newlines)
     return p.stdin, p.stdout
-def popen3(cmd):
+
+def popen3(cmd, newlines=False):
     p = subprocess.Popen(cmd, shell=True, bufsize=-1,
                          close_fds=closefds,
                          stdin=subprocess.PIPE, stdout=subprocess.PIPE,
-                         stderr=subprocess.PIPE)
+                         stderr=subprocess.PIPE,
+                         universal_newlines=newlines)
     return p.stdin, p.stdout, p.stderr
 
 def version():