view relnotes/5.6 @ 47052:f8fa7ec53517 stable

git: initialize `extra` to have at least the branch name for nullid Otherwise, this crashes trying to convert to local encoding: ... File "/mnt/c/Users/Matt/hg/mercurial/logcmdutil.py", line 333, in _show branch = ctx.branch() File "/mnt/c/Users/Matt/hg/mercurial/context.py", line 675, in branch return encoding.tolocal(self._changeset.extra.get(b"branch")) File "/mnt/c/Users/Matt/hg/mercurial/encoding.py", line 181, in tolocal if isasciistr(s): TypeError: a bytes-like object is required, not 'NoneType' This was originally reported to the thg bug tracker. https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5629 Differential Revision: https://phab.mercurial-scm.org/D10528
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 27 Apr 2021 19:38:19 -0400
parents 84eb4c833c41
children
line wrap: on
line source

== New Features ==

 * `hg mv -A` can now be used with `--at-rev`. It behaves just like
   `hg cp -A --at-rev`, i.e. it marks the destination as a copy of the
   source whether or not the source still exists (but the source must
   exist in the parent revision).

 * New revset predicate `diffcontains(pattern)` for filtering revisions
   in the same way as `hg grep --diff pattern`.

 * The memory footprint per changeset and per file during pull/unbundle
   operations has been significantly reduced.


== New Experimental Features ==



== Bug Fixes ==



== Backwards Compatibility Changes ==



== Internal API Changes ==

 * `merge.update()` is now private (renamed to `_update()`). Hopefully
   the higher-level functions available in the same module cover your
   use cases.

 * `phases.registernew` now takes a set of revisions instead of a list
   of nodes. `phases.advanceboundary` takes an optional set of revisions
   in addition to the list of nodes. The corresponeding members of the
   `phasecache` class follow this change.

 * The `addgroup` member of `revlog` classes no longer keeps a list of
   all found nodes. It now returns True iff a node was found in the group.
   An optional callback for duplicated nodes can be used by callers to keep
   track of all nodes themselve.

 * The `_chaininfocache` of `revlog` classes has been changed from a dict
   to a LRU cache.