Mercurial > hg
annotate relnotes/5.4 @ 51721:ed28085827ec
typing: explicitly type some `mercurial.util` eol code to avoid @overload
Unlike the previous commit, this makes a material difference in the generated
stub file- the `pycompat.identity()` aliases generated an @overload like this:
@overload
def fromnativeeol(a: _T0) -> _T0: ...
... which might fail to detect a bad argument, like str. This drops the
@overload for the 3 related methods, so there's a single definition for each.
The `typelib.BinaryIO_Proxy` is used for subclassing (the same as was done in
8147abc05794), so that it is a `BinaryIO` type during type checking, but still
inherits `object` at runtime. That way, we don't need to implement unused
abstract methods.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 19 Jul 2024 16:49:46 -0400 |
parents | f445a4f7e8a7 |
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 |
44289
9f8eddd2723f
purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44194
diff
changeset
|
3 * `hg purge`/`hg clean` can now delete ignored files instead of |
9f8eddd2723f
purge: add -i flag to delete ignored files instead of untracked files
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44194
diff
changeset
|
4 untracked files, with the new -i flag. |
42309
604c086ddde6
log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents:
42271
diff
changeset
|
5 |
44545
bd7b2c8d06cc
pull: add `--confirm` flag to confirm before writing changes
Pulkit Goyal <7895pulkit@gmail.com>
parents:
44437
diff
changeset
|
6 * `hg pull` now has a `--confirm` flag to prompt before applying changes. |
bd7b2c8d06cc
pull: add `--confirm` flag to confirm before writing changes
Pulkit Goyal <7895pulkit@gmail.com>
parents:
44437
diff
changeset
|
7 Config option `pull.confirm` is also added for that. |
bd7b2c8d06cc
pull: add `--confirm` flag to confirm before writing changes
Pulkit Goyal <7895pulkit@gmail.com>
parents:
44437
diff
changeset
|
8 |
44345
14d0e89520a2
graphlog: use '%' for other context in merge conflict
Martin von Zweigbergk <martinvonz@google.com>
parents:
44343
diff
changeset
|
9 * `hg log` now defaults to using an '%' symbol for commits involved |
14d0e89520a2
graphlog: use '%' for other context in merge conflict
Martin von Zweigbergk <martinvonz@google.com>
parents:
44343
diff
changeset
|
10 in unresolved merge conflicts. That includes unresolved conflicts |
14d0e89520a2
graphlog: use '%' for other context in merge conflict
Martin von Zweigbergk <martinvonz@google.com>
parents:
44343
diff
changeset
|
11 caused by e.g. `hg update --merge` and `hg graft`. '@' still takes |
14d0e89520a2
graphlog: use '%' for other context in merge conflict
Martin von Zweigbergk <martinvonz@google.com>
parents:
44343
diff
changeset
|
12 precedence, so what used to be marked '@' still is. |
14d0e89520a2
graphlog: use '%' for other context in merge conflict
Martin von Zweigbergk <martinvonz@google.com>
parents:
44343
diff
changeset
|
13 |
14d0e89520a2
graphlog: use '%' for other context in merge conflict
Martin von Zweigbergk <martinvonz@google.com>
parents:
44343
diff
changeset
|
14 * New `conflictlocal()` and `conflictother()` revsets return the |
44343
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
44289
diff
changeset
|
15 commits that are being merged, when there are conflicts. Also works |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
44289
diff
changeset
|
16 for conflicts caused by e.g. `hg graft`. |
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
44289
diff
changeset
|
17 |
44364
8be0c63535b5
copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents:
44347
diff
changeset
|
18 * `hg copy --forget` can be used to unmark a file as copied. |
8be0c63535b5
copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents:
44347
diff
changeset
|
19 |
44391
a6fb134bd086
revlog-compression: release note entry for update the config to be a list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44372
diff
changeset
|
20 * The `format.revlog-compression` configuration entry now accept a list. The |
a6fb134bd086
revlog-compression: release note entry for update the config to be a list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44372
diff
changeset
|
21 first available option will be used. for example setting:: |
a6fb134bd086
revlog-compression: release note entry for update the config to be a list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44372
diff
changeset
|
22 |
a6fb134bd086
revlog-compression: release note entry for update the config to be a list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44372
diff
changeset
|
23 [format] |
a6fb134bd086
revlog-compression: release note entry for update the config to be a list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44372
diff
changeset
|
24 revlog-compression=zstd, zlib |
a6fb134bd086
revlog-compression: release note entry for update the config to be a list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44372
diff
changeset
|
25 |
a6fb134bd086
revlog-compression: release note entry for update the config to be a list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44372
diff
changeset
|
26 Will use `zstd` compression for new repositories is available, and will |
a6fb134bd086
revlog-compression: release note entry for update the config to be a list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44372
diff
changeset
|
27 simply fall back to `zlib` if not. |
a6fb134bd086
revlog-compression: release note entry for update the config to be a list
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
44372
diff
changeset
|
28 |
44396
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44392
diff
changeset
|
29 * `hg debugmergestate` output is now templated, which may be useful |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44392
diff
changeset
|
30 e.g. for IDEs that want to help the user resolve merge conflicts. |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44392
diff
changeset
|
31 |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44392
diff
changeset
|
32 |
44367
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
44365
diff
changeset
|
33 == New Experimental Features == |
44343
8561ad49915d
revset: add a revset for parents in merge state
Martin von Zweigbergk <martinvonz@google.com>
parents:
44289
diff
changeset
|
34 |
44367
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
44365
diff
changeset
|
35 * `hg copy` now supports a `--at-rev` argument to mark files as |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
44365
diff
changeset
|
36 copied in the specified commit. It only works with `--after` for |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
44365
diff
changeset
|
37 now (i.e., it's only useful for marking files copied using non-hg |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
44365
diff
changeset
|
38 `cp` as copied). |
42309
604c086ddde6
log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents:
42271
diff
changeset
|
39 |
44365
7c4b98a4e536
copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
44364
diff
changeset
|
40 * Use `hg copy --forget --at-rev REV` to unmark already committed |
7c4b98a4e536
copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
44364
diff
changeset
|
41 copies. |
7c4b98a4e536
copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
44364
diff
changeset
|
42 |
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
43 == Bug Fixes == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
44 |
44370
edaae3616ba3
bookmarks: avoid traceback when two pushes race to delete the same bookmark
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44369
diff
changeset
|
45 * Fix server exception when concurrent pushes delete the same bookmark |
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
46 |
44392
efd73cdcfbac
relnotes: move entry to the right spot
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
44391
diff
changeset
|
47 * Prevent pushes of divergent bookmarks (foo@remote) |
efd73cdcfbac
relnotes: move entry to the right spot
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
44391
diff
changeset
|
48 |
44412
edc8504bc26b
exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44398
diff
changeset
|
49 * The push error "remote repository changed while pushing - please |
edc8504bc26b
exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44398
diff
changeset
|
50 try again" now only happens when a concurrent push changed related |
edc8504bc26b
exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44398
diff
changeset
|
51 heads (instead of when a concurrent pushed any revision). |
edc8504bc26b
exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44398
diff
changeset
|
52 |
edc8504bc26b
exchange: turn on option that makes concurrent pushes work better
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44398
diff
changeset
|
53 |
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
54 == Backwards Compatibility Changes == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
55 |
44347
9c9cfecd4600
rebase: don't use rebased node as dirstate p2 (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44345
diff
changeset
|
56 * When `hg rebase` pauses for merge conflict resolution, the working |
9c9cfecd4600
rebase: don't use rebased node as dirstate p2 (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44345
diff
changeset
|
57 copy will no longer have the rebased node as a second parent. You |
9c9cfecd4600
rebase: don't use rebased node as dirstate p2 (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44345
diff
changeset
|
58 can use the new `conflictparents()` revset for finding the other |
9c9cfecd4600
rebase: don't use rebased node as dirstate p2 (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44345
diff
changeset
|
59 parent during a conflict. |
9c9cfecd4600
rebase: don't use rebased node as dirstate p2 (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44345
diff
changeset
|
60 |
44556
f63598aa1c4b
rebase: accept multiple --base arguments (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44555
diff
changeset
|
61 * `hg rebase` now accepts repeated `--source` and `--base` |
f63598aa1c4b
rebase: accept multiple --base arguments (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44555
diff
changeset
|
62 arguments. For example, `hg rebase --source 'A + B'` is equivalent |
f63598aa1c4b
rebase: accept multiple --base arguments (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44555
diff
changeset
|
63 to `hg rebase --source A --source B`. This is a |
f63598aa1c4b
rebase: accept multiple --base arguments (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44555
diff
changeset
|
64 backwards-incompatible change because it will break overriding an |
f63598aa1c4b
rebase: accept multiple --base arguments (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44555
diff
changeset
|
65 alias `myrebase = rebase --source A` by `hg myrebase --source B` |
f63598aa1c4b
rebase: accept multiple --base arguments (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44555
diff
changeset
|
66 (it will now rebase `(A + B)::` instead of `B::`). |
44555
05654ea5137c
rebase: accept multiple --source arguments (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents:
44545
diff
changeset
|
67 |
44369
815c63526d1d
relnotes: add entry about previous `hg recover` change
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44367
diff
changeset
|
68 * `hg recover` does not verify the validity of the whole repository |
815c63526d1d
relnotes: add entry about previous `hg recover` change
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents:
44367
diff
changeset
|
69 anymore. You can pass `--verify` or call `hg verify` if necessary. |
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
|
70 |
44396
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44392
diff
changeset
|
71 * `hg debugmergestate` output format changed. Let us know if that is |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44392
diff
changeset
|
72 causing you problems and we'll roll it back. |
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44392
diff
changeset
|
73 |
44437
6a34e438461b
commit: clear resolved mergestate even if working copy is clean
Martin von Zweigbergk <martinvonz@google.com>
parents:
44434
diff
changeset
|
74 * Resolved merge conflicts are now cleared by `hg commit` even if the |
6a34e438461b
commit: clear resolved mergestate even if working copy is clean
Martin von Zweigbergk <martinvonz@google.com>
parents:
44434
diff
changeset
|
75 working copy has no changes. |
6a34e438461b
commit: clear resolved mergestate even if working copy is clean
Martin von Zweigbergk <martinvonz@google.com>
parents:
44434
diff
changeset
|
76 |
44396
acbfa31cfaf2
debugmergestate: make templated
Martin von Zweigbergk <martinvonz@google.com>
parents:
44392
diff
changeset
|
77 |
42271
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
78 == Internal API Changes == |
0ed293a3f00e
releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
79 |
44159
df2162672d24
progress: delete deprecated ui.progress()
Martin von Zweigbergk <martinvonz@google.com>
parents:
44133
diff
changeset
|
80 * The deprecated `ui.progress()` has now been deleted. Please use |
df2162672d24
progress: delete deprecated ui.progress()
Martin von Zweigbergk <martinvonz@google.com>
parents:
44133
diff
changeset
|
81 `ui.makeprogress()` instead. |
44178
bd4f666b55a7
merge: drop now-unused "abort" argument from hg.merge()
Martin von Zweigbergk <martinvonz@google.com>
parents:
44159
diff
changeset
|
82 |
44434
2f290136b7d6
merge: make hg.merge() take a context instead of a node
Martin von Zweigbergk <martinvonz@google.com>
parents:
44412
diff
changeset
|
83 * `hg.merge()` now takes a `ctx` instead of the previous `repo` and |
2f290136b7d6
merge: make hg.merge() take a context instead of a node
Martin von Zweigbergk <martinvonz@google.com>
parents:
44412
diff
changeset
|
84 `node` arguments. |
2f290136b7d6
merge: make hg.merge() take a context instead of a node
Martin von Zweigbergk <martinvonz@google.com>
parents:
44412
diff
changeset
|
85 |
44178
bd4f666b55a7
merge: drop now-unused "abort" argument from hg.merge()
Martin von Zweigbergk <martinvonz@google.com>
parents:
44159
diff
changeset
|
86 * `hg.merge()` has lost its `abort` argument. Please call |
bd4f666b55a7
merge: drop now-unused "abort" argument from hg.merge()
Martin von Zweigbergk <martinvonz@google.com>
parents:
44159
diff
changeset
|
87 `hg.abortmerge()` directly instead. |
44194
d4c1501225c4
cmdutil: change check_incompatible_arguments() *arg to single iterable
Martin von Zweigbergk <martinvonz@google.com>
parents:
44178
diff
changeset
|
88 |
44398
ddbc296a1f48
merge: drop redundant mergeforce argument from hg.merge()
Martin von Zweigbergk <martinvonz@google.com>
parents:
44396
diff
changeset
|
89 * `hg.merge()` has lost its `mergeforce` argument. It should have |
ddbc296a1f48
merge: drop redundant mergeforce argument from hg.merge()
Martin von Zweigbergk <martinvonz@google.com>
parents:
44396
diff
changeset
|
90 only ever been called with the same value as the `force` argument. |
ddbc296a1f48
merge: drop redundant mergeforce argument from hg.merge()
Martin von Zweigbergk <martinvonz@google.com>
parents:
44396
diff
changeset
|
91 |
44194
d4c1501225c4
cmdutil: change check_incompatible_arguments() *arg to single iterable
Martin von Zweigbergk <martinvonz@google.com>
parents:
44178
diff
changeset
|
92 * The `*others` argument of `cmdutil.check_incompatible_arguments()` |
d4c1501225c4
cmdutil: change check_incompatible_arguments() *arg to single iterable
Martin von Zweigbergk <martinvonz@google.com>
parents:
44178
diff
changeset
|
93 changed from being varargs argument to being a single collection. |