sapling/mercurial
Yuya Nishihara 36d684e2c3 formatter: add support for changeset templating
Some formatter-based commands provide fields that are identical to the ones
defined in templatekw, but we had to specify them manually to support all
changeset-based template keywords.

This patch adds fm.context() that populates all templatekw. These keywords
are available only in template output, so we still need to set important
keywords via fm.data() if they should be available in e.g. JSON output.

Currently fm.context() takes only 'ctx' argument. It will eventually be
extended to take 'fctx' to support file-based keywords (e.g. {path}) seen
in hgweb.
2017-02-25 17:00:07 +09:00
..
cffi setup: move cffi stuff to mercurial/cffi 2016-11-09 22:08:30 +00:00
default.d mergetools.rc: find OSX FileMerge in the new location inside Xcode 4.3 2015-10-16 11:37:34 +02:00
help help: use 'churn' instead of 'color' as an example extension 2017-02-21 22:53:38 +01:00
hgweb hgweb: simplify calculation of first revision in filelog command 2017-01-17 09:19:24 +01:00
httpclient httpclient: update to 54868ef054d2 of httpplus 2016-06-27 11:53:50 -04:00
pure py3: convert the mode argument of os.fdopen to unicodes (2 of 2) 2017-02-13 22:15:28 +05:30
templates hgweb: support Content Security Policy 2017-01-10 23:37:08 -08:00
__init__.py py3: drop unrequired code from __init__.py 2017-03-03 15:30:48 +05:30
ancestor.py py3: convert to next() function 2016-05-16 21:30:53 +00:00
archival.py subrepo: run the repo decoders when archiving 2017-02-25 21:13:59 -05:00
base85.c base85: clean up function definition style 2015-11-11 19:10:45 -05:00
bdiff_module.c bdiff: early pruning of common prefix before doing expensive computations 2016-11-16 19:45:35 +01:00
bdiff.c bdiff: don't check border condition in loop 2016-11-20 16:56:21 -08:00
bdiff.h bdiff: split bdiff into cpy-aware and cpy-agnostic part 2016-07-13 10:46:26 +02:00
bitmanipulation.h internals: move the bitmanipulation routines into its own file 2016-06-06 13:08:13 +02:00
bookmarks.py bookmarks: check HG_PENDING strictly 2017-02-21 01:21:00 +09:00
branchmap.py mercurial: switch to util.timer for all interval timings 2017-02-15 13:17:39 -08:00
bundle2.py bundle2: fix assertion that 'compression' hasn't been set 2017-02-13 11:43:12 -08:00
bundlerepo.py revlog: flag processor 2017-01-10 16:15:21 +00:00
byterange.py pycompat: switch to util.urlreq/util.urlerr for py3 compat 2016-04-06 23:22:12 +00:00
changegroup.py revlog: add 'raw' argument to revision and _addrevision 2017-01-05 17:16:07 +00:00
changelog.py revlog: make 'storedeltachains' a "public" attribute 2016-10-14 02:25:08 +02:00
chgserver.py chgserver: add the setprocname interface 2017-01-11 07:36:48 +08:00
cmdutil.py templatekw: move defaulttmpl constant from changeset_templater 2017-02-25 16:38:26 +09:00
color.py color: update main documentation 2017-02-21 20:04:55 +01:00
commands.py update: accept --merge to allow merging across topo branches (issue5125) 2017-02-13 12:58:37 -08:00
commandserver.py py3: convert the mode argument of os.fdopen to unicodes (1 of 2) 2017-02-13 20:06:38 +05:30
compat.h compat: define ssize_t as int on 32bit Windows, silences C4142 warning 2016-07-15 23:54:56 +09:00
config.py config: load included config files in binary mode 2017-03-03 13:28:24 -05:00
context.py context: extract _changesinrange() out of blockancestors() 2017-01-16 09:22:32 +01:00
copies.py merge: avoid superfluous filemerges when grafting through renames (issue5407) 2016-10-25 21:01:53 +02:00
crecord.py crecord: add an experimental option for space key to move cursor down 2017-01-08 10:08:29 +08:00
dagparser.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
dagutil.py dagutil: use absolute_import 2015-08-08 19:04:09 -07:00
debugcommands.py color: cleanup 'debugcolor' logic 2017-02-25 19:43:14 +01:00
demandimport.py demandimport: do not raise ImportError for unknown item in fromlist 2016-12-19 22:46:00 +09:00
destutil.py scmutil: proxy revrange() through repo to break import cycles 2017-02-19 20:00:18 +09:00
diffhelpers.c diffhelpers: fix botched return statement from e48d70075d8a 2015-01-28 13:34:20 -05:00
dirs.c dirs: use PyVarObject_HEAD_INIT 2016-10-13 13:14:14 +02:00
dirstate.py txnutil: factor out the logic to read file in according to HG_PENDING 2017-02-21 01:20:59 +09:00
dirstateguard.py dirstateguard: move to new module so I can break some layering violations 2016-11-21 21:29:32 -05:00
discovery.py discovery: use single quotes in use warning 2016-09-20 23:47:30 +00:00
dispatch.py color: add a 'ui.color' option to control color behavior 2017-02-25 19:44:23 +01:00
dummycert.pem ssl: on OS X, use a dummy cert to trick Python/OpenSSL to use system CA certs 2014-09-26 02:19:48 +02:00
encoding.py py3: convert encoding name and mode to str 2016-09-28 20:39:06 +09:00
error.py shelve: make unshelve be able to abort in any case 2016-07-13 16:16:18 +01:00
exchange.py getbundle: cleanly handle remote abort during getbundle 2017-02-10 18:17:20 +01:00
exewrapper.c exewrapper: add .dll to LoadLibrary() argument 2016-04-27 09:23:39 -07:00
extensions.py py3: use pycompat.fsencode() to convert __file__ to bytes 2017-02-20 18:40:42 +05:30
fancyopts.py flags: allow specifying --no-boolean-flag on the command line (BC) 2016-09-13 22:57:57 -04:00
filelog.py revlog: merge hash checking subfunctions 2016-12-13 14:21:36 +00:00
filemerge.py py3: convert the mode argument of os.fdopen to unicodes (1 of 2) 2017-02-13 20:06:38 +05:30
fileset.py help: clarify quotes are needed for filesets.size expressions 2016-09-21 16:33:37 +00:00
formatter.py formatter: add support for changeset templating 2017-02-25 17:00:07 +09:00
graphmod.py revset: import set classes directly from smartset module 2017-02-19 18:16:09 +09:00
hbisect.py bisect: move check_state into the bisect module 2016-08-24 04:25:20 +02:00
help.py color: update the help table 2017-03-01 20:22:04 +01:00
hg.py update: add experimental config for default way of handling dirty wdir 2017-02-13 16:03:05 -08:00
hook.py mercurial: switch to util.timer for all interval timings 2017-02-15 13:17:39 -08:00
httpconnection.py largefiles: use context for file closing 2016-10-08 00:59:41 +02:00
httppeer.py httppeer: advertise and support application/mercurial-0.2 2016-12-24 15:22:18 -07:00
i18n.py py3: use pycompat.fsencode() to convert __file__ to bytes 2017-02-20 18:40:42 +05:30
keepalive.py keepalive: honor urllib2 style get_method overrides 2017-02-13 15:12:17 -05:00
localrepo.py localrepo: deprecate 'repo.opener' (API) 2016-08-05 13:56:10 +02:00
lock.py lock: include Linux pid namespace identifier in prefix 2017-02-10 13:56:31 -08:00
lsprof.py lsprof: use print function 2016-01-02 11:40:53 -08:00
lsprofcalltree.py lsprofcalltree: use print function 2016-01-02 11:45:29 -08:00
mail.py mail: handle renamed email.Header 2016-10-07 17:30:11 +02:00
manifest.c manifest: use PyVarObject_HEAD_INIT 2016-10-13 13:17:23 +02:00
manifest.py manifest: remove _repo from manifestctx objects 2017-03-01 16:39:48 -08:00
match.py match: making visitdir() deal with non-recursive entries 2017-02-13 17:03:14 -08:00
mdiff.py patch: add similarity config knob in experimental section 2017-01-09 10:51:44 -08:00
merge.py merge: combine the "merge" cases in docstring table 2017-02-27 15:09:19 -08:00
mergeutil.py checkunresolved: move to new package to help avoid import cycles 2016-11-21 21:31:45 -05:00
minirst.py minirst: support passing admonitions into findadmonitions() and parse() 2017-02-15 11:49:12 -08:00
mpatch_module.c mpatch: raise MemoryError instead of mpatchError if lalloc() failed 2016-08-07 10:06:56 +09:00
mpatch.c internals: move the bitmanipulation routines into its own file 2016-06-06 13:08:13 +02:00
mpatch.h mpatch: raise MemoryError instead of mpatchError if lalloc() failed 2016-08-07 10:06:56 +09:00
namespaces.py namespaces: fix name/node confusion 2016-03-16 23:12:43 +00:00
node.py node: use byte literals to construct nullid and wdirid 2016-03-12 14:04:57 -08:00
obsolete.py obsolete: avoid using revset language to compute the obsolete revset 2017-02-18 00:55:20 -08:00
osutil.c osutil: use PyLongObject on Python 3 for listdir_slot 2016-10-09 13:47:46 +02:00
parser.py parser: extend buildargsdict() to support variable-length positional args 2017-01-09 15:25:52 +09:00
parsers.c parsers: avoid PySliceObject cast on Python 3 2016-10-13 13:34:53 +02:00
patch.py patch: check length of git index header only if integer is specified 2017-01-15 16:33:15 +09:00
pathencode.c pathencode: use assert() for PyBytes_Check() 2016-10-13 21:42:11 +02:00
pathutil.py util: rename checkcase() to fscasesensitive() (API) 2016-08-30 09:22:53 -07:00
peer.py py3: convert to next() function 2016-05-16 21:30:53 +00:00
phases.py phases: remove experimental.nativephaseskillswitch 2017-03-01 15:50:01 -08:00
policy.py policy: add cffi policy for PyPy 2016-06-07 15:35:58 +02:00
posix.py merge with stable 2017-01-04 14:52:59 -05:00
profiling.py py3: replace pycompat.getenv with encoding.environ.get 2017-01-15 13:17:05 +05:30
progress.py progress: stop excessive clearing (issue4801) 2016-05-06 17:53:06 -05:00
pushkey.py pushkey: use absolute_import 2015-08-08 19:57:27 -07:00
pvec.py pvec: use absolute_import 2015-12-21 21:32:58 -08:00
pycompat.py py3: add pycompat.open and replace open() calls 2017-03-03 13:04:32 +05:30
registrar.py registrar: make format strings unicodes and not bytes 2016-10-07 08:32:18 -04:00
repair.py repair: clean up stale lock file from store backup 2016-11-24 18:45:29 -08:00
repoview.py repoview: separate cache hash computation from cache reading 2017-02-20 01:54:07 -08:00
revlog.py revlog: give EXTSTORED flag value to narrowhg 2017-01-17 11:25:02 -08:00
revset.py revset: prevent using outgoing() and remote() in hgweb session (BC) 2017-01-20 21:33:18 +09:00
revsetlang.py revset: split language services to revsetlang module (API) 2017-02-19 18:19:33 +09:00
scmposix.py hg: allow usage of XDG_CONFIG_HOME/hg/hgrc 2017-02-07 17:33:35 +01:00
scmutil.py scmutil: proxy revrange() through repo to break import cycles 2017-02-19 20:00:18 +09:00
scmwindows.py py3: conditionalize _winreg import 2016-08-10 04:35:44 +05:30
server.py chgserver: make it a core module and drop extension flags 2016-10-15 14:30:16 +09:00
setdiscovery.py setdiscovery: use iterbatch interface instead of batch 2016-03-01 17:44:41 -05:00
similar.py similar: remove caching from the module level 2017-01-13 11:42:36 -08:00
simplemerge.py simplemerge: move conflict warning message to filemerge 2015-10-09 13:54:52 -07:00
smartset.py smartset: reorder initialization of baseset in more intuitive way 2017-02-18 17:37:52 +09:00
sshpeer.py i18n: translate abort messages 2016-06-14 11:53:55 +02:00
sshserver.py wireproto: compress data from a generator 2016-10-16 11:10:21 -07:00
sslutil.py py3: use pycompat.fsencode() to convert __file__ to bytes 2017-02-20 18:40:42 +05:30
statichttprepo.py statichttp: use 'repo.vfs' as the main attribute 2017-03-02 03:24:58 +01:00
statprof.py statprof: require input file 2017-01-18 22:45:07 -08:00
store.py py3: fix the way we produce bytes list in store.py 2017-02-07 23:25:37 +05:30
streamclone.py mercurial: switch to util.timer for all interval timings 2017-02-15 13:17:39 -08:00
subrepo.py rebase: provide detailed hint to abort message if working dir is not clean 2017-01-10 09:32:27 +01:00
tagmerge.py tagmerge: use absolute_import 2015-08-08 20:10:46 -07:00
tags.py scmutil: proxy revrange() through repo to break import cycles 2017-02-19 20:00:18 +09:00
templatefilters.py pycompat: switch to util.urlreq/util.urlerr for py3 compat 2016-04-06 23:22:12 +00:00
templatekw.py templatekw: move defaulttmpl constant from changeset_templater 2017-02-25 16:38:26 +09:00
templater.py templater: port formatnode filter from changeset_templater 2017-02-25 16:26:58 +09:00
transaction.py transaction: open a file with checkambig=True to avoid file stat ambiguity 2016-09-22 21:52:00 +09:00
treediscovery.py error: get Abort from 'error' instead of 'util' 2015-10-08 12:55:45 -07:00
txnutil.py txnutil: factor out the logic to read file in according to HG_PENDING 2017-02-21 01:20:59 +09:00
ui.py ui: fix configlist on Python 3 2017-03-03 14:10:06 -05:00
unionrepo.py revlog: add 'raw' argument to revision and _addrevision 2017-01-05 17:16:07 +00:00
url.py py3: replace pycompat.getenv with encoding.environ.get 2017-01-15 13:17:05 +05:30
util.h parsers: move PyInt aliasing out of util.h 2016-10-09 13:50:53 +02:00
util.py util: add allowhardlinks module variable 2017-03-02 10:12:40 -08:00
verify.py verify: replace _validpath() by matcher 2017-01-23 10:48:55 -08:00
win32.py py3: use pycompat.getcwd instead of os.getcwd 2016-12-22 01:54:17 +05:30
windows.py chgserver: extract utility to bind unix domain socket to long path 2016-05-21 16:52:04 +09:00
wireproto.py clonebundle: use 'repo.vfs' instead of 'repo.opener' 2017-03-02 03:23:18 +01:00
worker.py merge with stable 2017-02-28 11:13:25 -08:00