annotate relnotes/5.6 @ 51420:ac1c75188440

phases: invalidate the phases set less often on retract boundary We already have the information to update the phase set, so we do so directly instead of invalidating the cache. This show a sizeable speedup in our `perf::unbundle` benchmark on the many-draft mozilla-try repository. ### data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.perf-unbundle # bin-env-vars.hg.flavor = no-rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = disabled # benchmark.variants.revs = last-10 before: 2.055259 seconds after: 1.887064 seconds (-8.18%) # benchmark.variants.revs = last-100 before: 2.409239 seconds after: 2.222429 seconds (-7.75%) # benchmark.variants.revs = last-1000 before: 3.945648 seconds after: 3.762480 seconds (-4.64%)
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 21 Feb 2024 13:05:29 +0100
parents 84eb4c833c41
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
45369
5178dd2233d0 rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents: 45240
diff changeset
3 * `hg mv -A` can now be used with `--at-rev`. It behaves just like
5178dd2233d0 rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents: 45240
diff changeset
4 `hg cp -A --at-rev`, i.e. it marks the destination as a copy of the
5178dd2233d0 rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents: 45240
diff changeset
5 source whether or not the source still exists (but the source must
5178dd2233d0 rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents: 45240
diff changeset
6 exist in the parent revision).
45169
3496b5f24371 relnotes: extend
Joerg Sonnenberger <joerg@bec.de>
parents: 45062
diff changeset
7
45751
60d0634c43c2 relnotes: add diffcontains() to new features list
Yuya Nishihara <yuya@tcha.org>
parents: 45557
diff changeset
8 * New revset predicate `diffcontains(pattern)` for filtering revisions
60d0634c43c2 relnotes: add diffcontains() to new features list
Yuya Nishihara <yuya@tcha.org>
parents: 45557
diff changeset
9 in the same way as `hg grep --diff pattern`.
60d0634c43c2 relnotes: add diffcontains() to new features list
Yuya Nishihara <yuya@tcha.org>
parents: 45557
diff changeset
10
45795
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
11 * The memory footprint per changeset and per file during pull/unbundle
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
12 operations has been significantly reduced.
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
13
45189
045f5361bd12 relnotes: make spacing before new section consistent
Manuel Jacob <me@manueljacob.de>
parents: 45169
diff changeset
14
44367
9dab3fa64325 copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44365
diff changeset
15 == New Experimental Features ==
44343
8561ad49915d revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents: 44289
diff changeset
16
45191
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
17
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
18
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
19 == Bug Fixes ==
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
20
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
21
45189
045f5361bd12 relnotes: make spacing before new section consistent
Manuel Jacob <me@manueljacob.de>
parents: 45169
diff changeset
22
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
23 == Backwards Compatibility Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
24
45191
fc54f52779dd relnotes: add release notes for relevant changes I did since the 5.4 release
Manuel Jacob <me@manueljacob.de>
parents: 45190
diff changeset
25
44396
acbfa31cfaf2 debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents: 44392
diff changeset
26
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
27 == Internal API Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
28
45557
2c86b9587740 merge: make low-level update() private (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 45369
diff changeset
29 * `merge.update()` is now private (renamed to `_update()`). Hopefully
2c86b9587740 merge: make low-level update() private (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 45369
diff changeset
30 the higher-level functions available in the same module cover your
2c86b9587740 merge: make low-level update() private (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 45369
diff changeset
31 use cases.
2c86b9587740 merge: make low-level update() private (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 45369
diff changeset
32
45795
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
33 * `phases.registernew` now takes a set of revisions instead of a list
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
34 of nodes. `phases.advanceboundary` takes an optional set of revisions
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
35 in addition to the list of nodes. The corresponeding members of the
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
36 `phasecache` class follow this change.
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
37
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
38 * The `addgroup` member of `revlog` classes no longer keeps a list of
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
39 all found nodes. It now returns True iff a node was found in the group.
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
40 An optional callback for duplicated nodes can be used by callers to keep
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
41 track of all nodes themselve.
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
42
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
43 * The `_chaininfocache` of `revlog` classes has been changed from a dict
c4ab93849383 relnotes: mention improved memory use and underlaying API changes
Joerg Sonnenberger <joerg@bec.de>
parents: 45751
diff changeset
44 to a LRU cache.