match: avoid rust fast path if the matcher was tampered with
Otherwise the fast path does not respect the modifications made
by the extension (concretely largefiles, but other extensions can
start using that too)
#!/usr/bin/env python3
import os
import shlex
import subprocess
import sys
os.chdir(os.getenv('TESTTMP'))
if sys.argv[1] != "user@dummy":
sys.exit(-1)
os.environ["SSH_CLIENT"] = "%s 1 2" % os.environ.get('LOCALIP', '127.0.0.1')
log = open("dummylog", "ab")
log.write(b"Got arguments")
for i, arg in enumerate(sys.argv[1:]):
log.write(b" %d:%s" % (i + 1, arg.encode('latin1')))
log.write(b"\n")
log.close()
hgcmd = sys.argv[2]
if os.name == 'nt':
# hack to make simple unix single quote quoting work on windows
hgcmd = hgcmd.replace("'", '"')
cmds = shlex.split(hgcmd)
if cmds[0].endswith('.py'):
python_exe = os.environ['PYTHON']
cmds.insert(0, python_exe)
hgcmd = shlex.join(cmds)
# shlex generate windows incompatible string...
hgcmd = hgcmd.replace("'", '"')
r = subprocess.call(hgcmd, shell=True, close_fds=True)
sys.exit(bool(r))