[PATCH 1 of 3 V2] convert: Add support to common commandline to access stdin of the process
daniel.atallah at gmail.com
daniel.atallah at gmail.com
Thu Mar 24 09:48:50 CDT 2011
# HG changeset patch
# User Daniel Atallah <daniel.atallah at gmail.com>
# Date 1300906529 14400
# Branch stable
# Node ID 0fb617760b931cd25537e3362af52b2cfbd1a329
# Parent 913c2c66a555934cab9bcdac3412703256f9cdf2
convert: Add support to common commandline to access stdin of the process
diff --git a/hgext/convert/common.py b/hgext/convert/common.py
--- a/hgext/convert/common.py
+++ b/hgext/convert/common.py
@@ -233,6 +233,7 @@
def __init__(self, ui, command):
self.ui = ui
self.command = command
+ self.redirectstdin = True
def prerun(self):
pass
@@ -257,16 +258,23 @@
cmdline = [util.shellquote(arg) for arg in cmdline]
if not self.ui.debugflag:
cmdline += ['2>', util.nulldev]
- cmdline += ['<', util.nulldev]
+ if self.redirectstdin:
+ cmdline += ['<', util.nulldev]
cmdline = ' '.join(cmdline)
return cmdline
def _run(self, cmd, *args, **kwargs):
+ return self._dorun(util.popen, cmd, *args, **kwargs)
+
+ def _run2(self, cmd, *args, **kwargs):
+ return self._dorun(util.popen2, cmd, *args, **kwargs)
+
+ def _dorun(self, openfunc, cmd, *args, **kwargs):
cmdline = self._cmdline(cmd, *args, **kwargs)
self.ui.debug('running: %s\n' % (cmdline,))
self.prerun()
try:
- return util.popen(cmdline)
+ return openfunc(cmdline)
finally:
self.postrun()
More information about the Mercurial-devel
mailing list