##// END OF EJS Templates
py3: conditionalize the raise statement...
py3: conditionalize the raise statement raise E,V,T is not acceptable in Python 3, thats is conditionalized. Moreover this will result in syntax error so we have to use exec() to execute this. Related PEP- https://www.python.org/dev/peps/pep-3109/#id14 My implementation is motivated from the six implementation except they are defining a new function exec_() to prevent adding an extra frame AFAIK :) https://bitbucket.org/gutworth/six/src/ca4580a5a648/six.py#six.py-680

File last commit:

r27481:029f0275 default
r29759:e584c623 default
Show More
scmwindows.py
48 lines | 1.6 KiB | text/x-python | PythonLexer
Gregory Szorc
scmwindows: use absolute_import
r27481 from __future__ import absolute_import
import _winreg
Kevin Bullock
scmutil: split platform-specific bits into their own modules...
r18690 import os
Gregory Szorc
scmwindows: use absolute_import
r27481
from . import (
osutil,
util,
)
Kevin Bullock
scmutil: split platform-specific bits into their own modules...
r18690
def systemrcpath():
'''return default os-specific hgrc search path'''
rcpath = []
filename = util.executablepath()
# Use mercurial.ini found in directory with hg.exe
progrc = os.path.join(os.path.dirname(filename), 'mercurial.ini')
Mads Kiilerich
windows: read all global config files, not just the first (issue4491) (BC)...
r26625 rcpath.append(progrc)
Kevin Bullock
scmutil: split platform-specific bits into their own modules...
r18690 # Use hgrc.d found in directory with hg.exe
progrcd = os.path.join(os.path.dirname(filename), 'hgrc.d')
if os.path.isdir(progrcd):
for f, kind in osutil.listdir(progrcd):
if f.endswith('.rc'):
rcpath.append(os.path.join(progrcd, f))
# else look for a system rcpath in the registry
value = util.lookupreg('SOFTWARE\\Mercurial', None,
_winreg.HKEY_LOCAL_MACHINE)
if not isinstance(value, str) or not value:
return rcpath
value = util.localpath(value)
for p in value.split(os.pathsep):
if p.lower().endswith('mercurial.ini'):
rcpath.append(p)
elif os.path.isdir(p):
for f, kind in osutil.listdir(p):
if f.endswith('.rc'):
rcpath.append(os.path.join(p, f))
return rcpath
def userrcpath():
'''return os-specific hgrc search path to the user dir'''
home = os.path.expanduser('~')
path = [os.path.join(home, 'mercurial.ini'),
os.path.join(home, '.hgrc')]
userprofile = os.environ.get('USERPROFILE')
Mads Kiilerich
config: don't read the same config file twice...
r22583 if userprofile and userprofile != home:
Kevin Bullock
scmutil: split platform-specific bits into their own modules...
r18690 path.append(os.path.join(userprofile, 'mercurial.ini'))
path.append(os.path.join(userprofile, '.hgrc'))
return path