Mercurial > hg
annotate relnotes/6.1 @ 49015:3f6ddb1c193b
subsetmaker: rework the antichain generation to be usable
Before this, antichain computation can run for 10s of hours without completion in
sight. We use a more direct approach in the computation to keep the computation
in complexity in check. With good result.
We can now have a full antichain computation on mozilla-try in about one
minute. Which is usable.
Differential Revision: https://phab.mercurial-scm.org/D12396
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 21 Mar 2022 20:06:51 +0100 |
parents | 5bd6bcd31dd1 |
children | 4420e06c8810 |
rev | line source |
---|---|
48804 | 1 '''This is the last release to support Python 2. Mercurial is Python 3 only starting with 6.2''' |
2 | |
49006
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
3 = Mercurial 6.1.1 = |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
4 |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
5 * Fix Rust compilation on `aarcch64` |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
6 * Fix Rust compilation on architectures where `char` is unsigned |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
7 * When the merge tool uses `$output`, don't leave markers in `$local` |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
8 * Improve test suite support on big-endian platforms |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
9 * Cap the number of concurrent threads to 16 in Rust `hg status` to prevent huge speed regression at higher thread counts |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
10 * Fix `amend` with copies in extras |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
11 * Abort if commit we're trying to `unamend` was not created by `hg [un]amend` |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
12 * Fix file name in the pullbundle help text |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
13 * Fix an issue with data not being correctly reset in the C implementation of dirstate-v2 |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
14 * Fix issue6673 where some tags were missing from cache after a merge |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
15 * Fix stream-cloning a repo with empty requirements |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
16 * Fix a false warning about content-divergence creation |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
17 * Fix silly blackbox entries when hg is interrupted |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
18 * Fix unsoundness (no known exploits) in Rust extensions (see cfd270d83169 and dd6b67d5c256) |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
19 * Fix Rust dirstate counters not being updated correctly leading to some potential bugs (none known) |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
20 * Stop relying on a compiler implementation detail in Rust HgPath |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
21 |
5bd6bcd31dd1
relnotes: add notes for 6.1.1
Raphaël Gomès <rgomes@octobus.net>
parents:
48804
diff
changeset
|
22 = Mercurial 6.1 = |
48804 | 23 |
24 == New Features == | |
25 * Added a way of specifying required extensions that prevent Mercurial from starting if they are not found. See `hg help config.extensions`. | |
26 * Merge conflict markers have been made clearer (see backwards compatibility below) | |
27 * Improve detailed error codes | |
28 * Added a hint about mangled whitespace on bad patch | |
29 * Explain which order the commits are presented in `chistedit` | |
30 * Introduce a `dirstate-tracked-hint` feature to help automation keep track of changes to tracked files. See `hg help config.use-dirstate-tracked-hint`. | |
31 * Shared repositories can be upgraded if the upgrade is specific to the share. For now, this only applies to `dirstate-v2` and `dirstate-tracked-hint`. | |
32 * When using the `narrow` extension, non-conflicting changes to files outside of the narrow specification can now be merged. | |
33 * When cloning a repository using stream-clone, the client can now control the repository format variants to use as long as the stream content does not restrict that variant. | |
34 | |
35 == Default Format Change == | |
36 | |
37 These changes affect newly created repositories (or new clones) done with Mercurial 6.1. | |
38 | |
39 * The `share-safe` format variant is now enabled by default. It makes configuration and requirements more consistent across repository and their shares. This introduces a behavior change as shares from a repository using the new format will also use their main repository's configuration. See `hg help config.format.use-share-safe` for details about the feature and the available options for auto-upgrading existing shares. | |
40 | |
41 | |
42 == New Experimental Features == | |
43 * The pure Rust version of Mercurial called `rhg` added support for most common invocations of `hg status`. See `hg help rust.rhg` for details on how to try it out. | |
44 * `rhg` supports narrow clones and sparse checkouts. | |
45 | |
46 == Bug Fixes == | |
47 | |
48 * '''Obsolete revisions are skipped while computing heads. In conjunction with the `evolve` extension >= 10.5.0, this leads to massive exchange (push/pull) speedups in repositories with a lot of heads and/or obsolete revisions.''' | |
49 * Stream-clones now properly advertise all requirements needed. This can result in the stream-clone feature being disabled for some clients using < 6.0.2. A small bugfix patch for these older client is available if necessary. | |
50 * The `--no-check` and `--no-merge` flags now properly overwrite the behavior from `commands.update.check` | |
51 * `rhg`'s fallback detection is more robust in general in the presence of more advanced configs | |
52 * `rhg`'s `blackbox` now supports milliseconds by default and uses the same ISO 8601 format as the Python implementation | |
53 * Fix `rhg` crash on non-generaldelta revlogs | |
54 * The `lfs`, `largefiles` and `sparse` extensions now correctly take the appropriate lock before writing requirements | |
55 * The `notify` extension does not produce errors anymore if a revision is not found | |
56 * Remove unnecessary and overly strict check for divergence in `hg fix` | |
57 * Windows compatibility improvements | |
58 * Miscellaneous Python 3 and typing improvements | |
59 * Many other small or internal fixes | |
60 | |
61 == Backwards Compatibility Changes == | |
62 | |
63 * The use of `share-safe`, means shares (of new repositories) will also use their main repository's configuration see the `Default Format Change` section for details. | |
64 * The fix to stream-clone requirements advertising means some requirements previously (wrongly) omitted are now sent. This can confuse client using a Mercurial version < 6.0.2. The client would consider these requirements unsupported even if it actually know them. If you encounter this, either upgrade your client or apply the necessary patch. | |
65 * The labels passed to merge tools have changed slightly. Merge tools can get labels passed to them if you include `$labellocal`, `$labelbase`, and/or `$labelother` in the `merge-tool.<tool name>.args` configuration. These labels used to have some space-padding, and truncation to fit within 72 columns. Both the padding and the truncation has been removed. | |
66 * Some of the text in labels passed to merge tools has changed. For example, in conflicts while running `hg histedit`, the labels used to be "local", "base", and "histedit". They are now "already edited", "parent of current change", and "current change", respectively. | |
67 * The computation of namedbranch heads now ignores obsolete revisions. User of the Changeset Evolution feature may see a change in location and numbers of heads of each named branches (and topic). | |
68 * The remotefilelog extension now requires an appropriate excludepattern for subrepositories. | |
69 * `debugsparse`'s interface has been reworked to be more flexible. Since it's a debug command it is not actually a breaking change, but it is worth noting here. | |
70 * Temporary files for merges are now all inside a `hgmerge` directory instead of at the root of `TMPDIR`. The corresponding experimental `mergetempdirprefix` config option has been removed. | |
71 | |
72 == Internal API Changes == | |
73 | |
74 * The dirstate API received minor modifications. | |
75 | |
76 == Miscellaneous == | |
77 | |
78 * Removed exchange-v2. It was a prototype that had never been in a working state and had been left untouched since 2017. |