New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
regression in subprocess.call() command quoting #54827
Comments
http://mercurial.selenic.com/bts/issue2534 is a regression in 2.7.1 relative to 2.7, around the way commands are called (it seems to concern subprocess.call()). The error seems to be raised from mercurial's util.system() call, which uses subprocess.call() or subprocess.Popen() depending on the circumstances. |
The culprit seems to be r83957, which was done to fix bpo-2304. Assigning to Tim, who committed that revision. |
In util.system(), Mercurial adds its own pair of quotes: if os.name == 'nt':
cmd = '"%s"' % cmd That will result in one level of quoting too much. Now it seems unfortunate that this change was done in a minor version. Possible ways to resolve:
(Adding 2.7 release manager to nosy.) |
Ask, Jesse, sorry, I got confused about multiprocessing and subprocess. Taking you out of the nosy now. |
2010/12/3 Georg Brandl <report@bugs.python.org>:
I think we should just leave it alone. If it change the behavior again |
I'm not quite sure how anyone's supposed to determine I'm happy to repatch/test to strip quotes before adding, |
Tim: we just do our best to guess, and try to err on the conservative side. But things will always happen. Given benjamin's reply I'm closing the issue. Mercurial would have to add conditional code now anyway no matter what we do. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: