Mercurial > hg
annotate relnotes/5.3 @ 51582:d8287e43540f
phases: stop using `repo.set` in `remotephasessummary`
The `repository.set` create changectx on the fly, an expensive operation. Using
`repo.revs` and a direct rev-num → node-id translation will be significantly
faster.
This is especially true as we prepare ourself to no longer do the rev-num →
node-id transalation there.
The speedup is a bit lost in the overall noisyness of the slow phase discovery algorithm, but it save a small amount of time in my benchmark.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 05 Apr 2024 12:24:47 +0200 |
parents | 1f8f215219ff |
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 |
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). |