diff rhodecode/lib/subprocessio.py @ 2676:1f4d4b8d72f5 beta

switched git_command to subprocession for non-blocking Popen.
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 30 Jul 2012 22:45:43 +0200
parents 71fc1c98e02a
children e9e7c40b4f1a
line wrap: on
line diff
--- a/rhodecode/lib/subprocessio.py	Fri Jul 27 01:36:01 2012 +0200
+++ b/rhodecode/lib/subprocessio.py	Mon Jul 30 22:45:43 2012 +0200
@@ -338,6 +338,9 @@
             input_streamer.start()
             inputstream = input_streamer.output
 
+        if isinstance(cmd, (list, tuple)):
+            cmd = ' '.join(cmd)
+
         _p = subprocess.Popen(cmd,
             bufsize=-1,
             shell=True,
@@ -367,8 +370,8 @@
                 pass
             bg_out.stop()
             bg_err.stop()
-            err = '%r' % ''.join(bg_err)
-            raise EnvironmentError("Subprocess exited due to an error.\n" + err)
+            err = '%s' % ''.join(bg_err)
+            raise EnvironmentError("Subprocess exited due to an error:\n" + err)
 
         self.process = _p
         self.output = bg_out
@@ -379,7 +382,7 @@
 
     def next(self):
         if self.process.poll():
-            err = '%r' % ''.join(self.error)
+            err = '%s' % ''.join(self.error)
             raise EnvironmentError("Subprocess exited due to an error:\n" + err)
         return self.output.next()