aboutsummaryrefslogtreecommitdiffstats
path: root/libbe/rcs.py
diff options
context:
space:
mode:
authorAaron Bentley <abentley@panoramicfeedback.com>2006-08-11 12:07:10 -0400
committerAaron Bentley <abentley@panoramicfeedback.com>2006-08-11 12:07:10 -0400
commit99993f498f2130b912f3418a72812d2bbacab68e (patch)
tree4f601151b48c994318cb75f112bf7cb93a9a6483 /libbe/rcs.py
parent16acc74181767343289c729f668fb34d50212441 (diff)
parentbb87321ddc66ca8c7e8f42007fa2f678f93988a6 (diff)
downloadbugseverywhere-99993f498f2130b912f3418a72812d2bbacab68e.tar.gz
Merge changes from Belchenko
Diffstat (limited to 'libbe/rcs.py')
-rw-r--r--libbe/rcs.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/libbe/rcs.py b/libbe/rcs.py
index fddfeb6..1c12068 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":
@@ -46,6 +48,12 @@ class CommandError(Exception):
def invoke(args, expect=(0,), cwd=None):
q = Popen(args, stdout=PIPE, stderr=PIPE, cwd=cwd)
+ if sys.platform != "win32":
+ q = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE, cwd=cwd)
+ 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,
+ cwd=cwd)
output, error = q.communicate()
status = q.wait()
if status not in expect: