Mercurial > hg
view mercurial/policy.py @ 31769:594dd384803c
test-serve: make the 'listening at *' lines optional
The daemonized serve process doesn't print these lines out (see 448d0c452140).
I was able to get it to with the following hack:
diff --git a/mercurial/win32.py b/mercurial/win32.py
--- a/mercurial/win32.py
+++ b/mercurial/win32.py
@@ -418,6 +418,11 @@
return str(ppid)
def spawndetached(args):
+
+ import subprocess
+ return subprocess.Popen(args, cwd=pycompat.getcwd(), env=encoding.environ,
+ creationflags=subprocess.CREATE_NEW_PROCESS_GROUP).pid
+
# No standard library function really spawns a fully detached
# process under win32 because they allocate pipes or other objects
# to handle standard streams communications. Passing these objects
However, MSYS translates --prefixes starting with '/' to 'C:/MinGW/msys/1.0',
which changes the output. The output isn't so important that I want to spend a
bunch of time on this, and risk breaking some subtle behavior of `hg serve -d`
with the more complicated code.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 02 Apr 2017 00:56:52 -0400 |
parents | 8a17c541177f |
children | 56148133ef36 |
line wrap: on
line source
# policy.py - module policy logic for Mercurial. # # Copyright 2015 Gregory Szorc <gregory.szorc@gmail.com> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from __future__ import absolute_import import os import sys # Rules for how modules can be loaded. Values are: # # c - require C extensions # allow - allow pure Python implementation when C loading fails # cffi - required cffi versions (implemented within pure module) # cffi-allow - allow pure Python implementation if cffi version is missing # py - only load pure Python modules # # By default, require the C extensions for performance reasons. policy = b'c' policynoc = (b'cffi', b'cffi-allow', b'py') policynocffi = (b'c', b'py') try: from . import __modulepolicy__ policy = __modulepolicy__.modulepolicy except ImportError: pass # PyPy doesn't load C extensions. # # The canonical way to do this is to test platform.python_implementation(). # But we don't import platform and don't bloat for it here. if '__pypy__' in sys.builtin_module_names: policy = 'cffi' # Our C extensions aren't yet compatible with Python 3. So use pure Python # on Python 3 for now. if sys.version_info[0] >= 3: policy = b'py' # Environment variable can always force settings. if sys.version_info[0] >= 3: if 'HGMODULEPOLICY' in os.environ: policy = os.environ['HGMODULEPOLICY'].encode('utf-8') else: policy = os.environ.get('HGMODULEPOLICY', policy)