diff options
author | Alexander Belchenko <bialix@ukr.net> | 2006-07-19 23:52:50 +0300 |
---|---|---|
committer | Alexander Belchenko <bialix@ukr.net> | 2006-07-19 23:52:50 +0300 |
commit | 138e6a04e8d65e497cb9d64f917b365e06a6a425 (patch) | |
tree | b55b7b22bec9561ff9d3dc6c841ed7e2cef706fc | |
parent | ecc284d367fc2792b2e7dd97e5667fcb0ca11830 (diff) | |
download | bugseverywhere-138e6a04e8d65e497cb9d64f917b365e06a6a425.tar.gz |
subprocess: win32 don't have os.execvp() so have to run command in a shell
-rw-r--r-- | libbe/rcs.py | 8 |
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() |