Mercurial > hg
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 |
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 | 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. |