Mercurial 5.3 (2020-01-29)#
Mercurial 5.3 release#
This is an overview of the 5.3 release.
New Features#
Windows will process hgrc files in
%PROGRAMDATA%\Mercurial\hgrc.d.The Phabricator extension will read
.arcconfigin the repository root to assign thephabricator.callsignandphabricator.urlproperties, if available. This file will override the settings in the global or user level config files, but is itself overridden by the config file for the repository (issue6243)Accept explicit -r ‘wdir()’ when adding new bookmarks (issue6218)
hg importhas a new –secret option for committing with the secret phase.
New Experimental Features#
The LFS extension adds
--no-lfsto theverify, so that it won’t attempt to download missing blobs as part of the process.
Bug Fixes#
The
indent()template function was documented to not indent empty lines, but it still indented the first line even if it was empty. It no longer does that.Avoid setting both parents to the same commit in some cases when evolving a merge (issue6098)
Avoid spurious warnings with
hg verify --verbosewhen there are renames in obsolete revisions (issue6172)Check for unfinished ops when using the experimental in-memory rebase (issue6214)
Avoid corrupting dirstate if files are modified while the editor is open for an amend (issue6233)
Ensure reviews are posted to Phabricator in topological order, regardless of the order specified on the command line (issue6241)
Backwards Compatibility Changes#
Changed bundled config file location in Windows .exe installers to
hgrc.d, fromdefault.d. Consider using the new%PROGRAMDATA%\Mercurial\hgrc.ddirectory instead of the installation directory if you need to add custom config files globally.File patterns for the
fixconfiguration are resolved against the repository root, instead ofcwd. This allows filesets to be resolved consistently, regardless ofcwd.
Internal API Changes#
Matcher instances no longer have a
explicitdirproperty. Consider rewriting your code to userepo.wvfs.isdir()and/orctx.hasdir()instead. Also, thetraversedirproperty is now also called when onlyexplicitdirused to be called. That may mean that you can simply remove the use ofexplicitdirif you were already usingtraversedir.The
revlog.nodemapobject have been merged into therevlog.indexobject.n in revlog.nodemapbecomesrevlog.index.has_node(n),revlog.nodemap[n]becomesrevlog.index.rev(n),revlog.nodemap.get(n)becomesrevlog.index.get_rev(n).
copies.duplicatecopies()was renamed tocopies.graftcopies(). Its arguments changed from revision numbers to context objects. It also lost itsrepoandskiparguments (they should no longer be needed).