mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
win32: move system_rcpath_win32() to windows.py
no code change in system_rcpath_win32 This breaks the dependency from the win32 module on osutil
This commit is contained in:
parent
a264a23ffa
commit
2f13e93b12
@ -5,7 +5,7 @@
|
||||
# This software may be used and distributed according to the terms of the
|
||||
# GNU General Public License version 2 or any later version.
|
||||
|
||||
import osutil, encoding
|
||||
import encoding
|
||||
import ctypes, errno, os, struct, subprocess
|
||||
|
||||
_kernel32 = ctypes.windll.kernel32
|
||||
@ -222,36 +222,6 @@ def executable_path():
|
||||
raise ctypes.WinError(_ERROR_INSUFFICIENT_BUFFER)
|
||||
return buf.value
|
||||
|
||||
def system_rcpath_win32():
|
||||
'''return default os-specific hgrc search path'''
|
||||
rcpath = []
|
||||
filename = executable_path()
|
||||
# Use mercurial.ini found in directory with hg.exe
|
||||
progrc = os.path.join(os.path.dirname(filename), 'mercurial.ini')
|
||||
if os.path.isfile(progrc):
|
||||
rcpath.append(progrc)
|
||||
return rcpath
|
||||
# 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))
|
||||
return rcpath
|
||||
# else look for a system rcpath in the registry
|
||||
value = lookup_reg('SOFTWARE\\Mercurial', None, _HKEY_LOCAL_MACHINE)
|
||||
if not isinstance(value, str) or not value:
|
||||
return rcpath
|
||||
value = value.replace('/', os.sep)
|
||||
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 user_rcpath_win32():
|
||||
'''return os-specific hgrc search path to the user dir'''
|
||||
userdir = os.path.expanduser('~')
|
||||
|
@ -73,6 +73,38 @@ def _is_win_9x():
|
||||
def openhardlinks():
|
||||
return not _is_win_9x()
|
||||
|
||||
_HKEY_LOCAL_MACHINE = 0x80000002L
|
||||
|
||||
def system_rcpath_win32():
|
||||
'''return default os-specific hgrc search path'''
|
||||
rcpath = []
|
||||
filename = executable_path()
|
||||
# Use mercurial.ini found in directory with hg.exe
|
||||
progrc = os.path.join(os.path.dirname(filename), 'mercurial.ini')
|
||||
if os.path.isfile(progrc):
|
||||
rcpath.append(progrc)
|
||||
return rcpath
|
||||
# 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))
|
||||
return rcpath
|
||||
# else look for a system rcpath in the registry
|
||||
value = lookup_reg('SOFTWARE\\Mercurial', None, _HKEY_LOCAL_MACHINE)
|
||||
if not isinstance(value, str) or not value:
|
||||
return rcpath
|
||||
value = value.replace('/', os.sep)
|
||||
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 system_rcpath():
|
||||
try:
|
||||
return system_rcpath_win32()
|
||||
|
Loading…
Reference in New Issue
Block a user