aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Belchenko <bialix@ukr.net>2006-07-19 23:52:50 +0300
committerAlexander Belchenko <bialix@ukr.net>2006-07-19 23:52:50 +0300
commit138e6a04e8d65e497cb9d64f917b365e06a6a425 (patch)
treeb55b7b22bec9561ff9d3dc6c841ed7e2cef706fc
parentecc284d367fc2792b2e7dd97e5667fcb0ca11830 (diff)
downloadbugseverywhere-138e6a04e8d65e497cb9d64f917b365e06a6a425.tar.gz
subprocess: win32 don't have os.execvp() so have to run command in a shell
-rw-r--r--libbe/rcs.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/libbe/rcs.py b/libbe/rcs.py
index ac96734..549691a 100644
--- a/libbe/rcs.py
+++ b/libbe/rcs.py
@@ -15,6 +15,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
from subprocess import Popen, PIPE
+import sys
+
def rcs_by_name(rcs_name):
"""Return the module for the RCS with the given name"""
if rcs_name == "Arch":
@@ -45,7 +47,11 @@ class CommandError(Exception):
self.status = status
def invoke(args, expect=(0,)):
- q = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE)
+ if sys.platform != "win32":
+ q = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE)
+ else:
+ # win32 don't have os.execvp() so have to run command in a shell
+ q = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
output = q.stdout.read()
error = q.stderr.read()
status = q.wait()