##// END OF EJS Templates
scmwindows: use absolute_import
Gregory Szorc -
r27481:029f0275 default
parent child Browse files
Show More
@@ -1,43 +1,48
1 from __future__ import absolute_import
2
3 import _winreg
1 import os
4 import os
2 import osutil
5
3 import util
6 from . import (
4 import _winreg
7 osutil,
8 util,
9 )
5
10
6 def systemrcpath():
11 def systemrcpath():
7 '''return default os-specific hgrc search path'''
12 '''return default os-specific hgrc search path'''
8 rcpath = []
13 rcpath = []
9 filename = util.executablepath()
14 filename = util.executablepath()
10 # Use mercurial.ini found in directory with hg.exe
15 # Use mercurial.ini found in directory with hg.exe
11 progrc = os.path.join(os.path.dirname(filename), 'mercurial.ini')
16 progrc = os.path.join(os.path.dirname(filename), 'mercurial.ini')
12 rcpath.append(progrc)
17 rcpath.append(progrc)
13 # Use hgrc.d found in directory with hg.exe
18 # Use hgrc.d found in directory with hg.exe
14 progrcd = os.path.join(os.path.dirname(filename), 'hgrc.d')
19 progrcd = os.path.join(os.path.dirname(filename), 'hgrc.d')
15 if os.path.isdir(progrcd):
20 if os.path.isdir(progrcd):
16 for f, kind in osutil.listdir(progrcd):
21 for f, kind in osutil.listdir(progrcd):
17 if f.endswith('.rc'):
22 if f.endswith('.rc'):
18 rcpath.append(os.path.join(progrcd, f))
23 rcpath.append(os.path.join(progrcd, f))
19 # else look for a system rcpath in the registry
24 # else look for a system rcpath in the registry
20 value = util.lookupreg('SOFTWARE\\Mercurial', None,
25 value = util.lookupreg('SOFTWARE\\Mercurial', None,
21 _winreg.HKEY_LOCAL_MACHINE)
26 _winreg.HKEY_LOCAL_MACHINE)
22 if not isinstance(value, str) or not value:
27 if not isinstance(value, str) or not value:
23 return rcpath
28 return rcpath
24 value = util.localpath(value)
29 value = util.localpath(value)
25 for p in value.split(os.pathsep):
30 for p in value.split(os.pathsep):
26 if p.lower().endswith('mercurial.ini'):
31 if p.lower().endswith('mercurial.ini'):
27 rcpath.append(p)
32 rcpath.append(p)
28 elif os.path.isdir(p):
33 elif os.path.isdir(p):
29 for f, kind in osutil.listdir(p):
34 for f, kind in osutil.listdir(p):
30 if f.endswith('.rc'):
35 if f.endswith('.rc'):
31 rcpath.append(os.path.join(p, f))
36 rcpath.append(os.path.join(p, f))
32 return rcpath
37 return rcpath
33
38
34 def userrcpath():
39 def userrcpath():
35 '''return os-specific hgrc search path to the user dir'''
40 '''return os-specific hgrc search path to the user dir'''
36 home = os.path.expanduser('~')
41 home = os.path.expanduser('~')
37 path = [os.path.join(home, 'mercurial.ini'),
42 path = [os.path.join(home, 'mercurial.ini'),
38 os.path.join(home, '.hgrc')]
43 os.path.join(home, '.hgrc')]
39 userprofile = os.environ.get('USERPROFILE')
44 userprofile = os.environ.get('USERPROFILE')
40 if userprofile and userprofile != home:
45 if userprofile and userprofile != home:
41 path.append(os.path.join(userprofile, 'mercurial.ini'))
46 path.append(os.path.join(userprofile, 'mercurial.ini'))
42 path.append(os.path.join(userprofile, '.hgrc'))
47 path.append(os.path.join(userprofile, '.hgrc'))
43 return path
48 return path
@@ -1,205 +1,204
1 #require test-repo
1 #require test-repo
2
2
3 $ cd "$TESTDIR"/..
3 $ cd "$TESTDIR"/..
4
4
5 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs python contrib/check-py3-compat.py
5 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs python contrib/check-py3-compat.py
6 contrib/casesmash.py not using absolute_import
6 contrib/casesmash.py not using absolute_import
7 contrib/check-code.py not using absolute_import
7 contrib/check-code.py not using absolute_import
8 contrib/check-code.py requires print_function
8 contrib/check-code.py requires print_function
9 contrib/check-config.py not using absolute_import
9 contrib/check-config.py not using absolute_import
10 contrib/check-config.py requires print_function
10 contrib/check-config.py requires print_function
11 contrib/debugcmdserver.py not using absolute_import
11 contrib/debugcmdserver.py not using absolute_import
12 contrib/debugcmdserver.py requires print_function
12 contrib/debugcmdserver.py requires print_function
13 contrib/debugshell.py not using absolute_import
13 contrib/debugshell.py not using absolute_import
14 contrib/fixpax.py not using absolute_import
14 contrib/fixpax.py not using absolute_import
15 contrib/fixpax.py requires print_function
15 contrib/fixpax.py requires print_function
16 contrib/hgclient.py not using absolute_import
16 contrib/hgclient.py not using absolute_import
17 contrib/hgclient.py requires print_function
17 contrib/hgclient.py requires print_function
18 contrib/hgfixes/fix_bytes.py not using absolute_import
18 contrib/hgfixes/fix_bytes.py not using absolute_import
19 contrib/hgfixes/fix_bytesmod.py not using absolute_import
19 contrib/hgfixes/fix_bytesmod.py not using absolute_import
20 contrib/hgfixes/fix_leftover_imports.py not using absolute_import
20 contrib/hgfixes/fix_leftover_imports.py not using absolute_import
21 contrib/import-checker.py not using absolute_import
21 contrib/import-checker.py not using absolute_import
22 contrib/import-checker.py requires print_function
22 contrib/import-checker.py requires print_function
23 contrib/memory.py not using absolute_import
23 contrib/memory.py not using absolute_import
24 contrib/perf.py not using absolute_import
24 contrib/perf.py not using absolute_import
25 contrib/python-hook-examples.py not using absolute_import
25 contrib/python-hook-examples.py not using absolute_import
26 contrib/revsetbenchmarks.py not using absolute_import
26 contrib/revsetbenchmarks.py not using absolute_import
27 contrib/revsetbenchmarks.py requires print_function
27 contrib/revsetbenchmarks.py requires print_function
28 contrib/showstack.py not using absolute_import
28 contrib/showstack.py not using absolute_import
29 contrib/synthrepo.py not using absolute_import
29 contrib/synthrepo.py not using absolute_import
30 contrib/win32/hgwebdir_wsgi.py not using absolute_import
30 contrib/win32/hgwebdir_wsgi.py not using absolute_import
31 doc/check-seclevel.py not using absolute_import
31 doc/check-seclevel.py not using absolute_import
32 doc/gendoc.py not using absolute_import
32 doc/gendoc.py not using absolute_import
33 doc/hgmanpage.py not using absolute_import
33 doc/hgmanpage.py not using absolute_import
34 hgext/__init__.py not using absolute_import
34 hgext/__init__.py not using absolute_import
35 hgext/acl.py not using absolute_import
35 hgext/acl.py not using absolute_import
36 hgext/blackbox.py not using absolute_import
36 hgext/blackbox.py not using absolute_import
37 hgext/bugzilla.py not using absolute_import
37 hgext/bugzilla.py not using absolute_import
38 hgext/censor.py not using absolute_import
38 hgext/censor.py not using absolute_import
39 hgext/children.py not using absolute_import
39 hgext/children.py not using absolute_import
40 hgext/churn.py not using absolute_import
40 hgext/churn.py not using absolute_import
41 hgext/clonebundles.py not using absolute_import
41 hgext/clonebundles.py not using absolute_import
42 hgext/color.py not using absolute_import
42 hgext/color.py not using absolute_import
43 hgext/convert/__init__.py not using absolute_import
43 hgext/convert/__init__.py not using absolute_import
44 hgext/convert/bzr.py not using absolute_import
44 hgext/convert/bzr.py not using absolute_import
45 hgext/convert/common.py not using absolute_import
45 hgext/convert/common.py not using absolute_import
46 hgext/convert/convcmd.py not using absolute_import
46 hgext/convert/convcmd.py not using absolute_import
47 hgext/convert/cvs.py not using absolute_import
47 hgext/convert/cvs.py not using absolute_import
48 hgext/convert/cvsps.py not using absolute_import
48 hgext/convert/cvsps.py not using absolute_import
49 hgext/convert/darcs.py not using absolute_import
49 hgext/convert/darcs.py not using absolute_import
50 hgext/convert/filemap.py not using absolute_import
50 hgext/convert/filemap.py not using absolute_import
51 hgext/convert/git.py not using absolute_import
51 hgext/convert/git.py not using absolute_import
52 hgext/convert/gnuarch.py not using absolute_import
52 hgext/convert/gnuarch.py not using absolute_import
53 hgext/convert/hg.py not using absolute_import
53 hgext/convert/hg.py not using absolute_import
54 hgext/convert/monotone.py not using absolute_import
54 hgext/convert/monotone.py not using absolute_import
55 hgext/convert/p4.py not using absolute_import
55 hgext/convert/p4.py not using absolute_import
56 hgext/convert/subversion.py not using absolute_import
56 hgext/convert/subversion.py not using absolute_import
57 hgext/convert/transport.py not using absolute_import
57 hgext/convert/transport.py not using absolute_import
58 hgext/eol.py not using absolute_import
58 hgext/eol.py not using absolute_import
59 hgext/extdiff.py not using absolute_import
59 hgext/extdiff.py not using absolute_import
60 hgext/factotum.py not using absolute_import
60 hgext/factotum.py not using absolute_import
61 hgext/fetch.py not using absolute_import
61 hgext/fetch.py not using absolute_import
62 hgext/gpg.py not using absolute_import
62 hgext/gpg.py not using absolute_import
63 hgext/graphlog.py not using absolute_import
63 hgext/graphlog.py not using absolute_import
64 hgext/hgcia.py not using absolute_import
64 hgext/hgcia.py not using absolute_import
65 hgext/hgk.py not using absolute_import
65 hgext/hgk.py not using absolute_import
66 hgext/highlight/__init__.py not using absolute_import
66 hgext/highlight/__init__.py not using absolute_import
67 hgext/highlight/highlight.py not using absolute_import
67 hgext/highlight/highlight.py not using absolute_import
68 hgext/histedit.py not using absolute_import
68 hgext/histedit.py not using absolute_import
69 hgext/keyword.py not using absolute_import
69 hgext/keyword.py not using absolute_import
70 hgext/largefiles/__init__.py not using absolute_import
70 hgext/largefiles/__init__.py not using absolute_import
71 hgext/largefiles/basestore.py not using absolute_import
71 hgext/largefiles/basestore.py not using absolute_import
72 hgext/largefiles/lfcommands.py not using absolute_import
72 hgext/largefiles/lfcommands.py not using absolute_import
73 hgext/largefiles/lfutil.py not using absolute_import
73 hgext/largefiles/lfutil.py not using absolute_import
74 hgext/largefiles/localstore.py not using absolute_import
74 hgext/largefiles/localstore.py not using absolute_import
75 hgext/largefiles/overrides.py not using absolute_import
75 hgext/largefiles/overrides.py not using absolute_import
76 hgext/largefiles/proto.py not using absolute_import
76 hgext/largefiles/proto.py not using absolute_import
77 hgext/largefiles/remotestore.py not using absolute_import
77 hgext/largefiles/remotestore.py not using absolute_import
78 hgext/largefiles/reposetup.py not using absolute_import
78 hgext/largefiles/reposetup.py not using absolute_import
79 hgext/largefiles/uisetup.py not using absolute_import
79 hgext/largefiles/uisetup.py not using absolute_import
80 hgext/largefiles/wirestore.py not using absolute_import
80 hgext/largefiles/wirestore.py not using absolute_import
81 hgext/mq.py not using absolute_import
81 hgext/mq.py not using absolute_import
82 hgext/notify.py not using absolute_import
82 hgext/notify.py not using absolute_import
83 hgext/pager.py not using absolute_import
83 hgext/pager.py not using absolute_import
84 hgext/patchbomb.py not using absolute_import
84 hgext/patchbomb.py not using absolute_import
85 hgext/purge.py not using absolute_import
85 hgext/purge.py not using absolute_import
86 hgext/rebase.py not using absolute_import
86 hgext/rebase.py not using absolute_import
87 hgext/record.py not using absolute_import
87 hgext/record.py not using absolute_import
88 hgext/relink.py not using absolute_import
88 hgext/relink.py not using absolute_import
89 hgext/schemes.py not using absolute_import
89 hgext/schemes.py not using absolute_import
90 hgext/share.py not using absolute_import
90 hgext/share.py not using absolute_import
91 hgext/shelve.py not using absolute_import
91 hgext/shelve.py not using absolute_import
92 hgext/strip.py not using absolute_import
92 hgext/strip.py not using absolute_import
93 hgext/transplant.py not using absolute_import
93 hgext/transplant.py not using absolute_import
94 hgext/win32mbcs.py not using absolute_import
94 hgext/win32mbcs.py not using absolute_import
95 hgext/win32text.py not using absolute_import
95 hgext/win32text.py not using absolute_import
96 hgext/zeroconf/Zeroconf.py not using absolute_import
96 hgext/zeroconf/Zeroconf.py not using absolute_import
97 hgext/zeroconf/Zeroconf.py requires print_function
97 hgext/zeroconf/Zeroconf.py requires print_function
98 hgext/zeroconf/__init__.py not using absolute_import
98 hgext/zeroconf/__init__.py not using absolute_import
99 i18n/check-translation.py not using absolute_import
99 i18n/check-translation.py not using absolute_import
100 i18n/polib.py not using absolute_import
100 i18n/polib.py not using absolute_import
101 mercurial/byterange.py not using absolute_import
101 mercurial/byterange.py not using absolute_import
102 mercurial/cmdutil.py not using absolute_import
102 mercurial/cmdutil.py not using absolute_import
103 mercurial/commands.py not using absolute_import
103 mercurial/commands.py not using absolute_import
104 mercurial/context.py not using absolute_import
104 mercurial/context.py not using absolute_import
105 mercurial/dirstate.py not using absolute_import
105 mercurial/dirstate.py not using absolute_import
106 mercurial/dispatch.py requires print_function
106 mercurial/dispatch.py requires print_function
107 mercurial/exchange.py not using absolute_import
107 mercurial/exchange.py not using absolute_import
108 mercurial/httpclient/__init__.py not using absolute_import
108 mercurial/httpclient/__init__.py not using absolute_import
109 mercurial/httpclient/_readers.py not using absolute_import
109 mercurial/httpclient/_readers.py not using absolute_import
110 mercurial/httpclient/socketutil.py not using absolute_import
110 mercurial/httpclient/socketutil.py not using absolute_import
111 mercurial/httpconnection.py not using absolute_import
111 mercurial/httpconnection.py not using absolute_import
112 mercurial/keepalive.py not using absolute_import
112 mercurial/keepalive.py not using absolute_import
113 mercurial/keepalive.py requires print_function
113 mercurial/keepalive.py requires print_function
114 mercurial/localrepo.py not using absolute_import
114 mercurial/localrepo.py not using absolute_import
115 mercurial/lsprof.py requires print_function
115 mercurial/lsprof.py requires print_function
116 mercurial/lsprofcalltree.py not using absolute_import
116 mercurial/lsprofcalltree.py not using absolute_import
117 mercurial/lsprofcalltree.py requires print_function
117 mercurial/lsprofcalltree.py requires print_function
118 mercurial/mail.py requires print_function
118 mercurial/mail.py requires print_function
119 mercurial/manifest.py not using absolute_import
119 mercurial/manifest.py not using absolute_import
120 mercurial/mdiff.py not using absolute_import
120 mercurial/mdiff.py not using absolute_import
121 mercurial/patch.py not using absolute_import
121 mercurial/patch.py not using absolute_import
122 mercurial/pvec.py not using absolute_import
122 mercurial/pvec.py not using absolute_import
123 mercurial/py3kcompat.py not using absolute_import
123 mercurial/py3kcompat.py not using absolute_import
124 mercurial/scmposix.py not using absolute_import
124 mercurial/scmposix.py not using absolute_import
125 mercurial/scmutil.py not using absolute_import
125 mercurial/scmutil.py not using absolute_import
126 mercurial/scmwindows.py not using absolute_import
127 setup.py not using absolute_import
126 setup.py not using absolute_import
128 tests/filterpyflakes.py requires print_function
127 tests/filterpyflakes.py requires print_function
129 tests/generate-working-copy-states.py requires print_function
128 tests/generate-working-copy-states.py requires print_function
130 tests/get-with-headers.py requires print_function
129 tests/get-with-headers.py requires print_function
131 tests/heredoctest.py requires print_function
130 tests/heredoctest.py requires print_function
132 tests/hypothesishelpers.py not using absolute_import
131 tests/hypothesishelpers.py not using absolute_import
133 tests/hypothesishelpers.py requires print_function
132 tests/hypothesishelpers.py requires print_function
134 tests/killdaemons.py not using absolute_import
133 tests/killdaemons.py not using absolute_import
135 tests/md5sum.py not using absolute_import
134 tests/md5sum.py not using absolute_import
136 tests/mockblackbox.py not using absolute_import
135 tests/mockblackbox.py not using absolute_import
137 tests/printenv.py not using absolute_import
136 tests/printenv.py not using absolute_import
138 tests/readlink.py not using absolute_import
137 tests/readlink.py not using absolute_import
139 tests/readlink.py requires print_function
138 tests/readlink.py requires print_function
140 tests/revlog-formatv0.py not using absolute_import
139 tests/revlog-formatv0.py not using absolute_import
141 tests/run-tests.py not using absolute_import
140 tests/run-tests.py not using absolute_import
142 tests/seq.py not using absolute_import
141 tests/seq.py not using absolute_import
143 tests/seq.py requires print_function
142 tests/seq.py requires print_function
144 tests/silenttestrunner.py not using absolute_import
143 tests/silenttestrunner.py not using absolute_import
145 tests/silenttestrunner.py requires print_function
144 tests/silenttestrunner.py requires print_function
146 tests/sitecustomize.py not using absolute_import
145 tests/sitecustomize.py not using absolute_import
147 tests/svn-safe-append.py not using absolute_import
146 tests/svn-safe-append.py not using absolute_import
148 tests/svnxml.py not using absolute_import
147 tests/svnxml.py not using absolute_import
149 tests/test-ancestor.py requires print_function
148 tests/test-ancestor.py requires print_function
150 tests/test-atomictempfile.py not using absolute_import
149 tests/test-atomictempfile.py not using absolute_import
151 tests/test-batching.py not using absolute_import
150 tests/test-batching.py not using absolute_import
152 tests/test-batching.py requires print_function
151 tests/test-batching.py requires print_function
153 tests/test-bdiff.py not using absolute_import
152 tests/test-bdiff.py not using absolute_import
154 tests/test-bdiff.py requires print_function
153 tests/test-bdiff.py requires print_function
155 tests/test-context.py not using absolute_import
154 tests/test-context.py not using absolute_import
156 tests/test-context.py requires print_function
155 tests/test-context.py requires print_function
157 tests/test-demandimport.py not using absolute_import
156 tests/test-demandimport.py not using absolute_import
158 tests/test-demandimport.py requires print_function
157 tests/test-demandimport.py requires print_function
159 tests/test-dispatch.py not using absolute_import
158 tests/test-dispatch.py not using absolute_import
160 tests/test-dispatch.py requires print_function
159 tests/test-dispatch.py requires print_function
161 tests/test-doctest.py not using absolute_import
160 tests/test-doctest.py not using absolute_import
162 tests/test-duplicateoptions.py not using absolute_import
161 tests/test-duplicateoptions.py not using absolute_import
163 tests/test-duplicateoptions.py requires print_function
162 tests/test-duplicateoptions.py requires print_function
164 tests/test-filecache.py not using absolute_import
163 tests/test-filecache.py not using absolute_import
165 tests/test-filecache.py requires print_function
164 tests/test-filecache.py requires print_function
166 tests/test-filelog.py not using absolute_import
165 tests/test-filelog.py not using absolute_import
167 tests/test-filelog.py requires print_function
166 tests/test-filelog.py requires print_function
168 tests/test-hg-parseurl.py not using absolute_import
167 tests/test-hg-parseurl.py not using absolute_import
169 tests/test-hg-parseurl.py requires print_function
168 tests/test-hg-parseurl.py requires print_function
170 tests/test-hgweb-auth.py not using absolute_import
169 tests/test-hgweb-auth.py not using absolute_import
171 tests/test-hgweb-auth.py requires print_function
170 tests/test-hgweb-auth.py requires print_function
172 tests/test-hgwebdir-paths.py not using absolute_import
171 tests/test-hgwebdir-paths.py not using absolute_import
173 tests/test-hybridencode.py not using absolute_import
172 tests/test-hybridencode.py not using absolute_import
174 tests/test-hybridencode.py requires print_function
173 tests/test-hybridencode.py requires print_function
175 tests/test-lrucachedict.py not using absolute_import
174 tests/test-lrucachedict.py not using absolute_import
176 tests/test-lrucachedict.py requires print_function
175 tests/test-lrucachedict.py requires print_function
177 tests/test-manifest.py not using absolute_import
176 tests/test-manifest.py not using absolute_import
178 tests/test-minirst.py not using absolute_import
177 tests/test-minirst.py not using absolute_import
179 tests/test-minirst.py requires print_function
178 tests/test-minirst.py requires print_function
180 tests/test-parseindex2.py not using absolute_import
179 tests/test-parseindex2.py not using absolute_import
181 tests/test-parseindex2.py requires print_function
180 tests/test-parseindex2.py requires print_function
182 tests/test-pathencode.py not using absolute_import
181 tests/test-pathencode.py not using absolute_import
183 tests/test-pathencode.py requires print_function
182 tests/test-pathencode.py requires print_function
184 tests/test-propertycache.py not using absolute_import
183 tests/test-propertycache.py not using absolute_import
185 tests/test-propertycache.py requires print_function
184 tests/test-propertycache.py requires print_function
186 tests/test-revlog-ancestry.py not using absolute_import
185 tests/test-revlog-ancestry.py not using absolute_import
187 tests/test-revlog-ancestry.py requires print_function
186 tests/test-revlog-ancestry.py requires print_function
188 tests/test-run-tests.py not using absolute_import
187 tests/test-run-tests.py not using absolute_import
189 tests/test-simplemerge.py not using absolute_import
188 tests/test-simplemerge.py not using absolute_import
190 tests/test-status-inprocess.py not using absolute_import
189 tests/test-status-inprocess.py not using absolute_import
191 tests/test-status-inprocess.py requires print_function
190 tests/test-status-inprocess.py requires print_function
192 tests/test-symlink-os-yes-fs-no.py not using absolute_import
191 tests/test-symlink-os-yes-fs-no.py not using absolute_import
193 tests/test-trusted.py not using absolute_import
192 tests/test-trusted.py not using absolute_import
194 tests/test-trusted.py requires print_function
193 tests/test-trusted.py requires print_function
195 tests/test-ui-color.py not using absolute_import
194 tests/test-ui-color.py not using absolute_import
196 tests/test-ui-color.py requires print_function
195 tests/test-ui-color.py requires print_function
197 tests/test-ui-config.py not using absolute_import
196 tests/test-ui-config.py not using absolute_import
198 tests/test-ui-config.py requires print_function
197 tests/test-ui-config.py requires print_function
199 tests/test-ui-verbosity.py not using absolute_import
198 tests/test-ui-verbosity.py not using absolute_import
200 tests/test-ui-verbosity.py requires print_function
199 tests/test-ui-verbosity.py requires print_function
201 tests/test-url.py not using absolute_import
200 tests/test-url.py not using absolute_import
202 tests/test-url.py requires print_function
201 tests/test-url.py requires print_function
203 tests/test-walkrepo.py requires print_function
202 tests/test-walkrepo.py requires print_function
204 tests/test-wireproto.py requires print_function
203 tests/test-wireproto.py requires print_function
205 tests/tinyproxy.py requires print_function
204 tests/tinyproxy.py requires print_function
General Comments 0
You need to be logged in to leave comments. Login now