Show More
@@ -1430,13 +1430,19 b' def _sethgexecutable(path):' | |||||
1430 | global _hgexecutable |
|
1430 | global _hgexecutable | |
1431 | _hgexecutable = path |
|
1431 | _hgexecutable = path | |
1432 |
|
1432 | |||
1433 | def _isstdout(f): |
|
1433 | def _testfileno(f, stdf): | |
1434 | fileno = getattr(f, 'fileno', None) |
|
1434 | fileno = getattr(f, 'fileno', None) | |
1435 | try: |
|
1435 | try: | |
1436 |
return fileno and fileno() == s |
|
1436 | return fileno and fileno() == stdf.fileno() | |
1437 | except io.UnsupportedOperation: |
|
1437 | except io.UnsupportedOperation: | |
1438 | return False # fileno() raised UnsupportedOperation |
|
1438 | return False # fileno() raised UnsupportedOperation | |
1439 |
|
1439 | |||
|
1440 | def isstdin(f): | |||
|
1441 | return _testfileno(f, sys.__stdin__) | |||
|
1442 | ||||
|
1443 | def isstdout(f): | |||
|
1444 | return _testfileno(f, sys.__stdout__) | |||
|
1445 | ||||
1440 | def shellenviron(environ=None): |
|
1446 | def shellenviron(environ=None): | |
1441 | """return environ with optional override, useful for shelling out""" |
|
1447 | """return environ with optional override, useful for shelling out""" | |
1442 | def py2shell(val): |
|
1448 | def py2shell(val): | |
@@ -1464,7 +1470,7 b' def system(cmd, environ=None, cwd=None, ' | |||||
1464 | pass |
|
1470 | pass | |
1465 | cmd = quotecommand(cmd) |
|
1471 | cmd = quotecommand(cmd) | |
1466 | env = shellenviron(environ) |
|
1472 | env = shellenviron(environ) | |
1467 |
if out is None or |
|
1473 | if out is None or isstdout(out): | |
1468 | rc = subprocess.call(cmd, shell=True, close_fds=closefds, |
|
1474 | rc = subprocess.call(cmd, shell=True, close_fds=closefds, | |
1469 | env=env, cwd=cwd) |
|
1475 | env=env, cwd=cwd) | |
1470 | else: |
|
1476 | else: |
General Comments 0
You need to be logged in to leave comments.
Login now