sapling/edenscm/mercurial
Jun Wu 6d7c287ab2 ui: split config handling to a separate class
Summary:
A large portion of `ui` is config handling. Split it to a separate class so we
can pass that separate class to places that need pure configuration.

Some `develwarn`s are skipped since the new class does not have access to fout
or ferr.

Reviewed By: DurhamG

Differential Revision: D16683787

fbshipit-source-id: d823b9e5fc6f8ed08fff3401ab3502ad3c434f00
2019-08-15 12:47:35 -07:00
..
cext util: make util.dirs() and util.finddirs() include root directory (API) 2019-08-12 14:34:36 -07:00
cffi autoformat all of fbcode/scm with black 2019-07-30 08:21:05 -07:00
commands dagparser: add a binary dag serialization format 2019-08-09 16:17:49 -07:00
help help: move help docs to Python code 2019-05-13 16:23:40 -07:00
hgweb util: make util.dirs() and util.finddirs() include root directory (API) 2019-08-12 14:34:36 -07:00
httpclient codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
pure codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
rust match: use "" instead of "." for root directory (API) 2019-08-12 14:34:36 -07:00
templates templates: move builtin styles to code 2019-05-16 09:49:02 -07:00
thirdparty setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
__init__.py autoformat all of fbcode/scm with black 2019-07-30 08:21:05 -07:00
ancestor.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
archival.py archive: prefetch remotefilelog files before executing archive 2019-03-14 14:57:50 -07:00
bdiff.c codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
bdiff.h codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
bitmanipulation.h codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
blackbox.py logging: move shortlist util to blackbox.py 2019-07-06 02:46:19 -07:00
bookmarks.py statichttprepo: remove statichttprepo 2019-08-09 16:17:54 -07:00
branchmap.py branchmap: drop revbranchcache and other unused logic 2019-02-22 21:02:41 -08:00
bundle2.py pushrebase: don't create transaction during pushkey 2019-04-26 15:42:27 -07:00
bundlerepo.py codemod: replace os.fdopen with util.fdopen 2019-06-27 13:10:20 -07:00
byterange.py Remove FBPYTHON lint suppressions 2019-05-30 08:05:11 -07:00
changegroup.py codemod: replace os.fdopen with util.fdopen 2019-06-27 13:10:20 -07:00
changelog.py visibility: add bundlerepo support 2019-06-04 04:50:54 -07:00
chgserver.py codemod: replace os.fdopen with util.fdopen 2019-06-27 13:10:20 -07:00
cmdutil.py compute the status manifest only once per amend 2019-08-14 05:22:53 -07:00
color.py commands: provide in-core blackbox command 2019-06-26 11:03:27 -07:00
commandserver.py codemod: replace os.fdopen with util.fdopen 2019-06-27 13:10:20 -07:00
compat.h codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
config.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
configitems.py ui: split config handling to a separate class 2019-08-15 12:47:35 -07:00
connectionpool.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
context.py manifest: rename match to matcher in diff argument list 2019-07-31 10:06:48 -07:00
copies.py copies: remove hack for adding root dir to util.dirs object 2019-08-12 14:34:36 -07:00
crecord.py logging: migrate crecord "blocked" logging to new API 2019-07-06 02:46:17 -07:00
dagop.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
dagparser.py dagparser: add a binary dag serialization format 2019-08-09 16:17:49 -07:00
dagutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
debugcommands.py flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
destutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
dirstate.py dirstate: fix special handling of root directory 2019-08-14 15:47:25 -07:00
dirstateguard.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
discovery.py discovery: add fastdiscovery 2019-06-03 15:14:21 -07:00
dispatch.py dispatch: remove 2 calls to fancyopts 2019-08-15 10:08:36 -07:00
drawdag.py mutation: prefix predecessor hashes with hashing scheme 2019-03-27 04:49:12 -07:00
dummycert.pem codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
eden_dirstate_map.py subrepo: remove subrepo support 2019-03-11 10:43:55 -07:00
eden_dirstate.py perftrace: add tracing for getting status from EdenFS 2019-06-06 04:49:08 -07:00
eden_update.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
edenfs.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
EdenThriftClient.py Removing read to .eden/symlinks on Eden Windows Thrift client 2019-05-15 09:23:00 -07:00
encoding.py encoding: respect system encoding 2019-08-01 08:43:03 -07:00
entrypoint.py edenscm: move sys.path handling to top-level edenscm 2019-07-25 17:43:41 -07:00
error.py ui: add labelled prefixes to ui.write 2019-05-09 06:55:11 -07:00
exchange.py discovery: add fastdiscovery 2019-06-03 15:14:21 -07:00
extensions.py extensions: disable simplecache by default 2019-06-27 13:10:21 -07:00
fancyopts.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
filelog.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
filemerge.py codemod: replace os.fdopen with util.fdopen 2019-06-27 13:10:20 -07:00
fileset.py tracing: record lfs download size 2019-05-03 13:09:33 -07:00
formatter.py templates: move builtin styles to code 2019-05-16 09:49:02 -07:00
fscap.py fscap: mark "fuse.ntfs" (ntfs-3g) as not supporting symlinks 2019-02-06 18:34:30 -08:00
graphmod.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
hbisect.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
help.py hgmain: replace hg root entirely with a native implementation 2019-07-26 20:38:50 -07:00
helptext.py discovery: add fastdiscovery 2019-06-03 15:14:21 -07:00
hg.py statichttprepo: remove statichttprepo 2019-08-09 16:17:54 -07:00
hintutil.py hintutil: clear state after printing them out 2019-07-17 21:11:27 -07:00
hook.py logging: log exthook name 2019-07-06 02:46:19 -07:00
httpconnection.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
httppeer.py statichttprepo: remove statichttprepo 2019-08-09 16:17:54 -07:00
i18n.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
identity.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
interpreter.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
json.py codemod: import from the edenscm package 2019-01-29 17:25:32 -08:00
keepalive.py lfs: rewind fp on retries 2019-08-02 05:15:57 -07:00
localrepo.py localrepo: properly handle no manifest changes 2019-08-13 13:48:26 -07:00
lock.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
lsprof.py autoformat all of fbcode/scm with black 2019-07-30 08:21:05 -07:00
lsprofcalltree.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
mail.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
manifest.py match: use "" instead of "." for root directory (API) 2019-08-12 14:34:36 -07:00
match.py match: drop unnecessary adding of '' to set of dirs 2019-08-12 14:34:37 -07:00
mdiff.py setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
merge.py manifest: rename match to matcher in diff argument list 2019-07-31 10:06:48 -07:00
mergeutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
metrics.py metrics: make ui.metrics.gauge log to the sampling extension 2019-03-20 22:49:18 -07:00
minirst.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
mpatch.c codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
mpatch.h codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
mutation.py setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
namespaces.py remotenames: add markaccessed method to the API 2019-04-30 09:26:11 -07:00
node.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
obsolete.py tracing: add tracing for obsolescence computation 2019-05-01 11:21:07 -07:00
obsutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
parser.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
patch.py codemod: replace os.fdopen with util.fdopen 2019-06-27 13:10:20 -07:00
pathutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
peer.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
perftrace.py util: add istest() method 2019-07-17 21:11:29 -07:00
phases.py tracing: add various tracing across the code base 2019-03-25 19:31:13 -07:00
policy.py util: make util.dirs() and util.finddirs() include root directory (API) 2019-08-12 14:34:36 -07:00
posix.py util: add fdopen 2019-06-27 13:10:19 -07:00
profiling.py logging: migrate profiling output to new blackbox format 2019-07-06 02:46:16 -07:00
progress.py setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
pushkey.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
pvec.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
pycompat.py hgmain: replace hg root entirely with a native implementation 2019-07-26 20:38:50 -07:00
rcutil.py config: move default.d/mergetools.rc to code 2019-05-16 17:31:26 -07:00
registrar.py registrar: document 'subonly' option to the command decorator 2019-04-11 07:49:21 -07:00
repair.py bookmarks: commonize debugstrip -B and prune -B handling 2019-06-03 08:48:24 -07:00
replay.py replay: only expect timestamp and not timezone 2019-02-20 08:47:25 -08:00
repository.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
repoview.py statichttprepo: remove statichttprepo 2019-08-09 16:17:54 -07:00
revlog.py indicate which revlog is corrupt 2019-06-12 14:41:09 -07:00
revset.py revset: use path instead of relpath in follow() 2019-04-24 17:33:43 -07:00
revsetlang.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
rewriteutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
scmposix.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
scmutil.py ui: add labelled prefixes to ui.write 2019-05-09 06:55:11 -07:00
scmwindows.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
server.py subrepo: remove subrepo support 2019-03-11 10:43:55 -07:00
setdiscovery.py discovery: add fastdiscovery 2019-06-03 15:14:21 -07:00
similar.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
simplemerge.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
smartset.py smartset: fix a possible StopIteration exception 2019-04-18 19:32:54 -07:00
sparse.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
sshpeer.py metrics: add metrics about fetching remote data 2019-03-20 22:49:18 -07:00
sshserver.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
sslutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
statprof.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
store.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
streamclone.py flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
tagmerge.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
tags.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
templatefilters.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
templatekw.py visibility: use x graphnode for invisible commits 2019-05-16 02:35:48 -07:00
templater.py template: remove manifest rev number from templates 2019-05-22 08:37:10 -07:00
transaction.py flake8: fix lints for unused imports and variables 2019-02-27 06:26:06 -08:00
treedirstate.py setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
treediscovery.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
treestate.py setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
txnutil.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
ui.py ui: split config handling to a separate class 2019-08-15 12:47:35 -07:00
uiconfig.py ui: split config handling to a separate class 2019-08-15 12:47:35 -07:00
upgrade.py manifest: drop manifestv2 support 2019-03-26 13:32:45 -07:00
url.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
urllibcompat.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
util.py util: make util.dirs() and util.finddirs() include root directory (API) 2019-08-12 14:34:36 -07:00
verify.py manifest: remove readfast, replace readdelta 2019-05-24 10:00:49 -07:00
vfs.py codemod: move Python packages to edenscm 2019-01-28 18:35:41 -08:00
visibility.py visibility: add bundlerepo support 2019-06-04 04:50:54 -07:00
win32.py win32: add explicit signature for CertFreeCertificateChain 2019-06-20 11:18:25 -07:00
windows.py util: add fdopen 2019-06-27 13:10:19 -07:00
wireproto.py codemod: replace os.fdopen with util.fdopen 2019-06-27 13:10:20 -07:00
worker.py codemod: replace os.fdopen with util.fdopen 2019-06-27 13:10:20 -07:00