relnotes/5.3
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 15 Mar 2024 01:31:57 +0100
branchstable
changeset 51505 c9ceb4f60256
parent 44133 1f8f215219ff
permissions -rw-r--r--
phases: avoid N² behavior in `advanceboundary` We allowed duplicated entries in the deque, which each entry could potentially insert all its ancestors. So advancing boundary for the full repository would mean each revision would walk all its ancestors, resulting in O(N²) iteration. For repository of any decent size, N² is quickly insane. We introduce a simple set to avoid this and get back to reasonable performance.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     1
== New Features ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     2
43951
1ccf340acf14 windows: add a global equivalent to /etc/mercurial for *.rc processing
Matt Harbison <matt_harbison@yahoo.com>
parents: 43889
diff changeset
     3
 * Windows will process hgrc files in %PROGRAMDATA%\Mercurial\hgrc.d.
1ccf340acf14 windows: add a global equivalent to /etc/mercurial for *.rc processing
Matt Harbison <matt_harbison@yahoo.com>
parents: 43889
diff changeset
     4
42309
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
     5
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
     6
== New Experimental Features ==
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
     7
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
     8
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
     9
== Bug Fixes  ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    10
43695
fa246ada356b templates: make {indent("", " ")} be empty
Martin von Zweigbergk <martinvonz@google.com>
parents: 43588
diff changeset
    11
 * The `indent()` template function was documented to not indent empty lines,
fa246ada356b templates: make {indent("", " ")} be empty
Martin von Zweigbergk <martinvonz@google.com>
parents: 43588
diff changeset
    12
   but it still indented the first line even if it was empty. It no longer does
fa246ada356b templates: make {indent("", " ")} be empty
Martin von Zweigbergk <martinvonz@google.com>
parents: 43588
diff changeset
    13
   that.
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    14
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    15
== Backwards Compatibility Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    16
42944
c2676b5a9f59 narrow: don't hexify paths and double-hexify known nodes on wire (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42935
diff changeset
    17
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    18
== Internal API Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    19
43777
c8e9a3636abe relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents: 43695
diff changeset
    20
 * Matcher instances no longer have a `explicitdir` property. Consider
c8e9a3636abe relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents: 43695
diff changeset
    21
   rewriting your code to use `repo.wvfs.isdir()` and/or
c8e9a3636abe relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents: 43695
diff changeset
    22
   `ctx.hasdir()` instead. Also, the `traversedir` property is now
c8e9a3636abe relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents: 43695
diff changeset
    23
   also called when only `explicitdir` used to be called. That may
c8e9a3636abe relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents: 43695
diff changeset
    24
   mean that you can simply remove the use of `explicitdir` if you
c8e9a3636abe relnotes: add note about changes to match.{explicit,reverse}dir
Martin von Zweigbergk <martinvonz@google.com>
parents: 43695
diff changeset
    25
   were already using `traversedir`.
43889
458504a8cca1 relnotes: mention the merging of index and nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43777
diff changeset
    26
458504a8cca1 relnotes: mention the merging of index and nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43777
diff changeset
    27
 * The `revlog.nodemap` object have been merged into the `revlog.index` object.
458504a8cca1 relnotes: mention the merging of index and nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43777
diff changeset
    28
   * `n in revlog.nodemap` becomes `revlog.index.has_node(n)`,
458504a8cca1 relnotes: mention the merging of index and nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43777
diff changeset
    29
   * `revlog.nodemap[n]` becomes `revlog.index.rev(n)`,
458504a8cca1 relnotes: mention the merging of index and nodemap
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43777
diff changeset
    30
   * `revlog.nodemap.get(n)` becomes `revlog.index.get_rev(n)`.
44090
2f0a44c69e07 copies: replace duplicatecopies() by function that takes contexts
Martin von Zweigbergk <martinvonz@google.com>
parents: 43951
diff changeset
    31
2f0a44c69e07 copies: replace duplicatecopies() by function that takes contexts
Martin von Zweigbergk <martinvonz@google.com>
parents: 43951
diff changeset
    32
 * `copies.duplicatecopies()` was renamed to
2f0a44c69e07 copies: replace duplicatecopies() by function that takes contexts
Martin von Zweigbergk <martinvonz@google.com>
parents: 43951
diff changeset
    33
   `copies.graftcopies()`. Its arguments changed from revision numbers
44092
833210fbd900 graftcopies: remove `skip` and `repo` arguments
Martin von Zweigbergk <martinvonz@google.com>
parents: 44090
diff changeset
    34
   to context objects. It also lost its `repo` and `skip` arguments
833210fbd900 graftcopies: remove `skip` and `repo` arguments
Martin von Zweigbergk <martinvonz@google.com>
parents: 44090
diff changeset
    35
   (they should no longer be needed).