annotate relnotes/6.7 @ 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 803e61387e86
children 028dc3f92dbd
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51540
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
1 = Mercurial 6.7.2 =
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
2
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
3 Exceptional release following a large performance regression when cloning.
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
4
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
5 We are setting up automated benchmarks to reduce the likelihood of regressions
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
6 of the sort from happening in the future.
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
7
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
8 * phases: avoid a potentially costly dictionary interation in some case
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
9 * phases: update the phase set as we go during retract boundary
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
10 * bundle2: make the "hgtagsfnodes" part advisory
803e61387e86 relnotes: add 6.7.2
Raphaël Gomès <rgomes@octobus.net>
parents: 51512
diff changeset
11
51512
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
12 = Mercurial 6.7.1 =
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
13
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
14 Exceptional release following a crash found in delta code that can be triggered
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
15 with complex repository shapes.
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
16
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
17 * delta-search: fix crash caused by unbound variable
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
18 * sshpeer: fix path when handling invalid url exception
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
19 * subrepo: fix normalizing paths with scheme
2e6fde2ed01e relnotes: add 6.7.1
Raphaël Gomès <rgomes@octobus.net>
parents: 51504
diff changeset
20
51504
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
21 = Mercurial 6.7 =
51440
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
22
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
23 As usual, a *lot* of patches don't make it to this list.
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
24
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
25 == New Features ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
26
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
27 * JSON templates can now use structured diffstat data
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
28 * Support rhg status --rev --rev
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
29 * The index for REVLOGv1 now has a Rust implementation
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
30 * Improved `hg censor`'s output
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
31 * censor: add a command flag to skip the head checks
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
32 * censor: accept multiple revision in a single call
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
33 * usage: add a `usage.repository-role` config
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
34 * branchmap: use mmap for faster revbranchcache loading
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
35 * crecord: enable search hotkeys (issue6834)
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
36 * hg-core: separate timestamp and extra methods
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
37 * annotate: limit output to range of lines
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
38 * unbundle: faster computation of changed heads
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
39 * Large improvements of some of the phases code (23950e39281f)
51504
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
40 * rust-filepatterns: export glob_to_re function
51440
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
41
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
42 == New Experimental Features ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
43
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
44 * Introduce `hg admin::chainsaw-update` for automation and *advanced* users
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
45
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
46 == Bug Fixes ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
47
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
48 * templatekw: fix inconsistency of diffstat with diff.merge
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
49 * The endless stream of Python 3 cleanups continues
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
50 * Improved setup.py robustness
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
51 * Improved test suite robustness
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
52 * add: don't attempt to add back removed files unless explicitly listed
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
53 * statprof: handle `lineno == None` in more cases
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
54 * rust: fix cargo doc for hg-cpython
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
55 * rust-python-index: don't panic on a corrupted index when calling from Python
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
56 * debugindexstats: handle the lack of Rust support better
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
57 * matchers: use correct method for finding index in vector
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
58 * narrow: strip trailing `/` from manifest dir before matching it
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
59 * cext: fix potential memory leaks of list items appended with PyList_Append
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
60 * doc: document that labels must have a dot in them to have an effect
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
61 * debugformat: fix formatting for compression level
51504
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
62 * obsutil: sort metadata before comparing in geteffectflag()
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
63 * crecord: drop calls to `curses.endwin()`
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
64 * rust-index: don't use mutable borrow for head-diff computation
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
65 * rust-index: don't use mutable borrow to computed filtered heads
6b2aeeec3ed0 relnotes: add 6.7
Raphaël Gomès <rgomes@octobus.net>
parents: 51440
diff changeset
66
51440
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
67
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
68 == Backwards Compatibility Changes ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
69
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
70 Users of the Rust extensions and/or `rhg` should be aware that the new Rust
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
71 index can result in a performance degradation for push/pull on repositories
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
72 *not* using `persistent-nodemap` (see `hg help config.format.use-persistent-nodemap`).
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
73
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
74 If this is something that matters to you, please reach out to us as this is not
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
75 an insurmountable obstacle. This is a choice base on the assumption that
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
76 there are few people in this situation and our time should be spent on more
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
77 pressing matters.
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
78
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
79 == Internal API Changes ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
80
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
81 * 62913:498017baa34b "cleanup: remove some code scheduled to be removed after 5.9"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
82 * 62914:88ef80210d67 "cleanup: drop `dirstate.is_changing_parent` deprecated since 6.5"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
83 * 62915:591845f89ada "cleanup: drop `path.pushloc` deprecated since 6.5"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
84 * 62916:d8f65fc72e7b "cleanup: drop deprecated config attribute on the revlog class"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
85 * 62917:5c9c41273367 "cleanup: turn `pathsuboption` deprecation warning into an error"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
86 * 62918:7b837fabc990 "cleanup: turn `wrappedfunction` deprecation warning into an error"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
87 * 62919:eda075d7b2ac "cleanup: turn `wrapfunction` deprecation warning into an error"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
88 * 62920:c845479fc64d "cleanup: drop the `bytes` compatibility for attribute related function"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
89 * 63464:dcaa2df1f688 "changelog: never inline changelog"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
90 * 63465:a93e52f0b6ff "changelog: disallow delayed write on inline changesets"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
91 * 63825:79cd29d598af "dirstate: make the `transaction` argument of `setbranch` mandatory"
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
92
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
93 == Miscellaneous ==
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
94
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
95 * perf: support --template on perf::phases
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
96 * perf: add a --as-push option to perf::unbundle
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
97 * debug: add a debug::unbundle command that simulate the unbundle from a push
d1d48d18db37 relnotes: add 6.7rc0
Raphaël Gomès <rgomes@octobus.net>
parents:
diff changeset
98 * Lots of refactorings to prepare for performance improvements and remove tech debt