mercurial/templates/map-cmdline.changelog
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 01 Jun 2021 15:19:08 -0700
changeset 47372 9e6e12e1a87e
parent 34714 f4aeb952ab77
permissions -rw-r--r--
merge: make applyupdates() not mutate mresult argument We have an extension at work that overrides `merge.applyupdates()` to make it skip some writes and instead instruct the virtual filesystem we use to get a different version. That override doesn't work correctly when doing `hg co -m` and there's a modified file in the dirstate that's deleted in the destination. That's because `applyupdates()` mutates its `mresult` argument and our extension had passed in a modified copied of `mresult` to the overridden function, which resulted in the mutation not having any effect. This patch fixes that by letting the caller (i.e. `merge._update()`) update `mresult` with the extra actions instead. Besides fixing our internal extension, that seems cleaner to me anyway (better to not mutate `mresult` only in some cases and we can skip some of the logic if we're not going to update the dirstate anyway). Differential Revision: https://phab.mercurial-scm.org/D10830

[templates]
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* '