mercurial/templates/map-cmdline.changelog
author Gregory Szorc <gregory.szorc@gmail.com>
Sun, 14 Aug 2016 16:30:44 -0700
changeset 29781 2654a0aac80d
parent 9999 f91e5630ce7e
child 34714 f4aeb952ab77
permissions -rw-r--r--
profiling: move profiling code from dispatch.py (API) Currently, profiling code lives in dispatch.py, which is a low-level module centered around command dispatch. Furthermore, dispatch.py imports a lot of other modules, meaning that importing dispatch.py to get at profiling functionality would often result in a module import cycle. Profiling is a generic activity. It shouldn't be limited to command dispatch. This patch moves profiling code from dispatch.py to the new profiling.py. The low-level "run a profiler against a function" functions have been moved verbatim. The code for determining how to invoke the profiler has been extracted to its own function. I decided to create a new module rather than stick this code elsewhere (such as util.py) because util.py is already quite large. And, I foresee this file growing larger once Facebook's profiling enhancements get added to it.

header = '{date|shortdate}  {author|person}  <{author|email}>\n\n'
header_verbose = ''
changeset = '\t* {files|stringify|fill68|tabindent}{desc|fill68|tabindent|strip}\n\t[{node|short}]{tags}{branches}\n\n'
changeset_quiet = '\t* {desc|firstline|fill68|tabindent|strip}\n\n'
changeset_verbose = '{date|isodate}  {author|person}  <{author|email}>  ({node|short}{tags}{branches})\n\n\t* {file_adds|stringify|fill68|tabindent}{file_dels|stringify|fill68|tabindent}{files|stringify|fill68|tabindent}{desc|fill68|tabindent|strip}\n\n'
start_tags = ' ['
tag = '{tag}, '
last_tag = '{tag}]'
start_branches = ' <'
branch = '{branch}, '
last_branch = '{branch}>'
file = '{file}, '
last_file = '{file}:\n\t'
file_add = '{file_add}, '
last_file_add = '{file_add}: new file.\n* '
file_del = '{file_del}, '
last_file_del = '{file_del}: deleted file.\n* '