Mercurial > hg
view mercurial/templates/map-cmdline.default @ 24572:b83679eb5f86
manifestv2: add support for reading new manifest format
The new manifest format is designed to be smaller, in particular to
produce smaller deltas. It stores hashes in binary and puts the hash
on a new line (for smaller deltas). It also uses stem compression to
save space for long paths. The format has room for metadata, but
that's there only for future-proofing. The parser thus accepts any
metadata and throws it away. For more information, see
http://mercurial.selenic.com/wiki/ManifestV2Plan.
The current manifest format doesn't allow an empty filename, so we use
an empty filename on the first line to tell a manifest of the new
format from the old. Since we still never write manifests in the new
format, the added code is unused, but it is tested by
test-manifest.py.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 27 Mar 2015 22:26:41 -0700 |
parents | 6136704b975d |
children | c1cb6523e968 |
line wrap: on
line source
# Base templates. Due to name clashes with existing keywords, we have # to replace some keywords with 'lkeyword', for 'labelled keyword' changeset = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{summary}\n' changeset_quiet = '{lnode}' changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{lfiles}{lfile_copies_switch}{description}\n' changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{user}{ldate}{lfile_mods}{lfile_adds}{lfile_dels}{lfile_copies_switch}{extras}{description}\n' # File templates lfiles = '{if(files, label("ui.note log.files", "files: {files}\n"))}' lfile_mods = '{if(file_mods, label("ui.debug log.files", "files: {file_mods}\n"))}' lfile_adds = '{if(file_adds, label("ui.debug log.files", "files+: {file_adds}\n"))}' lfile_dels = '{if(file_dels, label("ui.debug log.files", "files-: {file_dels}\n"))}' lfile_copies_switch = '{if(file_copies_switch, label("ui.note log.copies", "copies: {file_copies_switch % ' {name} ({source})'}\n"))}' # General templates cset = '{label("log.changeset changeset.{phase}", "changeset: {rev}:{node|short}")}\n' lphase = '{label("log.phase", "phase: {phase}")}\n' fullcset = '{label("log.changeset changeset.{phase}", "changeset: {rev}:{node}")}\n' parent = '{label("log.parent changeset.{phase}", "parent: {rev}:{node|formatnode}")}\n' lnode = '{label("log.node", "{rev}:{node|short}")}\n' manifest = '{label("ui.debug log.manifest", "manifest: {rev}:{node}")}\n' branch = '{label("log.branch", "branch: {branch}")}\n' tag = '{label("log.tag", "tag: {tag}")}\n' bookmark = '{label("log.bookmark", "bookmark: {bookmark}")}\n' user = '{label("log.user", "user: {author}")}\n' summary = '{label("log.summary", "summary: {desc|firstline}")}\n' ldate = '{label("log.date", "date: {date|date}")}\n' extra = '{label("ui.debug log.extra", "extra: {key}={value|stringescape}")}\n' description = '{label("ui.note log.description", "description:")} {label("ui.note log.description", "{desc|strip}")}\n\n'