Mercurial 6.6 (2023-11-07)#

Mercurial 6.6.3#

  • tests: don’t use “status” operand of dd in test-censor.t (issue6858)

  • tests: make sha256line.py available for all tests

  • tests: use sha256line.py instead of /dev/random in test-censor.t (issue6858)

  • tests: fix nondeterministic test failure in test-contrib-perf.t

  • rust-changelog: don’t panic on empty file lists

  • grep: restore usage of –include/–exclude options

Mercurial 6.6.2#

  • histedit: remove superfluous echo() and endwin() calls (issue6859)

  • persistent-nodemap: avoid writing nodemap for empty revlog

  • persistent-nodemap: respect the mmap setting when refreshing data

  • bundle: do not detect –base argument that match nothing as lack of argument

  • narrow: prevent removal of ACL-defined excludes

  • pycompat: fix bytestr(bytes) in Python 3.11

Mercurial 6.6.1#

The first two patches fix aborted transactions that could happen since 6.6.

  • revlog: avoid exposing delayed index entry too widely in non-inline revlog

  • revlog: avoid wrongly updating the data file location on “divert”

  • tests: do not fail tests in a state with uncommitted .py file removal

  • perf-tags: fix the –clear-fnode-cache-rev code

  • perf-tags: fix clear_cache_fnodes to actually clear that cache

  • censor: fix things around inlining

  • Various Python 3 cleanups

  • Various Windows test suite fixes

Mercurial 6.6#

As usual, a lot of patches don’t make it to this list.

New Features#

  • rust-config: add support for default config items

  • rhg: add config defaults to configitems.toml

  • rhg: support “status FILE”

  • rhg: support rhg files [FILE]

  • commands: add admin namespace

  • admin-command: add verify command

  • debug-delta-chain: add options to control what we compute

  • Added some caching for uncompressed revlog chunks that speed up some operations

New Experimental Features#

Bug Fixes#

  • Improve OpenVMS support

  • byteify-strings: passe sysstr to attr function and wrapper

  • journal: track bookmark deletion

  • transaction: actually delete file created during the transaction on rollback

  • pull: avoid referencing a variable before it is initialized

  • rust-filepatterns: also normalize RelPath

  • narrow: hoist a variable to a higher level to avoid use-before-init warning

  • convert: stabilize subversion date sorter

  • run-tests: detect HGWITHRUSTEXT value

  • censor: accept censored revision during upgrade

  • rust-matchers: fix quadratic complexity in FileMatcher

  • unstable: do not consider internal phases when computing unstable

  • Still a whole bunch of Python 2 -> 3 migration leftovers

Backwards Compatibility Changes#

  • perf: display all timing by default

  • infinitepush: drop the extension

  • debug-delta-chain: print less data by default

Internal API Changes#

  • The revlog interface has been significantly cleaned up.

  • configitems: add documentation field

  • configitems: declare items in a TOML file

  • configitems: move blackbox’s config items to the new configitems.toml

  • path-suboption: deprecated specifying the attributes as bytes

  • pycompat: deprecate using bytes

  • check-code: drop the safehasattr rule

  • safehasattr: drop usage in favor of hasattr

  • rust: add UncheckedRevision type

  • rust: implement the Graph trait for all revlogs

  • rust: make Revision a newtype

  • perf: change the way we approach revlog reading

  • perf: ensure all readlog’s reading is done within a reading context

  • delta-chain: move the debugdeltachain command in revlogutils

Miscellaneous#