mercurial/templates/raw/map
author Siddharth Agarwal <sid0@fb.com>
Tue, 31 Mar 2015 19:29:39 -0700
changeset 24560 b38bcf18993c
parent 19429 c8490dcc5fb3
child 37400 47aea60d114d
permissions -rw-r--r--
dirstate.walk: don't keep track of normalized files in parallel Rev 2bb13f2b778c changed the semantics of the work list to store (normalized, non-normalized) pairs. All the tuple creation and destruction hurts perf: on a large repo on OS X, 'hg status' went from 3.62 seconds to 3.78. It also is unnecessary in most cases: - it is clearly unnecessary on case-sensitive filesystems. - it is also unnecessary when filenames have been read off of disk rather than being supplied by the user. The only case where the non-normalized case is required at all is when the file is unknown. To eliminate most of the perf cost, keep trace of whether the directory needs to be normalized at all with a boolean called 'alreadynormed'. Pay the cost of directory normalization only when necessary. For the above large repo, 'hg status' goes to 3.63 seconds.

default = 'shortlog'
shortlog = "'raw' is not a browsable style"
changelog = changelog.tmpl
changelogentry = logentry.tmpl
search = search.tmpl
searchentry = logentry.tmpl
mimetype = 'text/plain; charset={encoding}'
header = ''
footer = ''
changeset = changeset.tmpl
difflineplus = '{line}'
difflineminus = '{line}'
difflineat = '{line}'
diffline = '{line}'
changesetparent = '# Parent  {node}'
changesetchild = '# Child   {node}'
filenodelink = ''
filenolink = ''
fileline = '{line}'
diffblock = '{lines}'
filediff = filediff.tmpl
fileannotate = fileannotate.tmpl
annotateline = '{author|user}@{rev}: {line}'
manifest = manifest.tmpl
direntry = 'drwxr-xr-x {basename}\n'
fileentry = '{permissions|permissions} {size} {basename}\n'
index = index.tmpl
notfound = notfound.tmpl
error = error.tmpl
indexentry = '{url}\n'
tags = '{entries%tagentry}'
tagentry = '{tag}	{node}\n'
bookmarks = '{entries%bookmarkentry}'
bookmarkentry = '{bookmark}	{node}\n'
branches = '{entries%branchentry}'
branchentry = '{branch}	{node}	{status}\n'
graph = graph.tmpl
graphnode = graphnode.tmpl
graphedge = graphedge.tmpl
bookmarkname = 'bookmark:    {name}\n'
branchname = 'branch:      {name}\n'
tagname = 'tag:         {name}\n'