5.4
93 lines
| 3.4 KiB
| application/x-troff
|
GroffLexer
/ relnotes / 5.4
Martin von Zweigbergk
|
r45363 | == New Features == | ||
* `hg purge`/`hg clean` can now delete ignored files instead of | ||||
untracked files, with the new -i flag. | ||||
* `hg pull` now has a `--confirm` flag to prompt before applying changes. | ||||
Config option `pull.confirm` is also added for that. | ||||
* `hg log` now defaults to using an '%' symbol for commits involved | ||||
in unresolved merge conflicts. That includes unresolved conflicts | ||||
caused by e.g. `hg update --merge` and `hg graft`. '@' still takes | ||||
precedence, so what used to be marked '@' still is. | ||||
* New `conflictlocal()` and `conflictother()` revsets return the | ||||
commits that are being merged, when there are conflicts. Also works | ||||
for conflicts caused by e.g. `hg graft`. | ||||
* `hg copy --forget` can be used to unmark a file as copied. | ||||
* The `format.revlog-compression` configuration entry now accept a list. The | ||||
first available option will be used. for example setting:: | ||||
[format] | ||||
revlog-compression=zstd, zlib | ||||
Will use `zstd` compression for new repositories is available, and will | ||||
simply fall back to `zlib` if not. | ||||
* `hg debugmergestate` output is now templated, which may be useful | ||||
e.g. for IDEs that want to help the user resolve merge conflicts. | ||||
== New Experimental Features == | ||||
* `hg copy` now supports a `--at-rev` argument to mark files as | ||||
copied in the specified commit. It only works with `--after` for | ||||
now (i.e., it's only useful for marking files copied using non-hg | ||||
`cp` as copied). | ||||
* Use `hg copy --forget --at-rev REV` to unmark already committed | ||||
copies. | ||||
== Bug Fixes == | ||||
* Fix server exception when concurrent pushes delete the same bookmark | ||||
* Prevent pushes of divergent bookmarks (foo@remote) | ||||
* The push error "remote repository changed while pushing - please | ||||
try again" now only happens when a concurrent push changed related | ||||
heads (instead of when a concurrent pushed any revision). | ||||
== Backwards Compatibility Changes == | ||||
* When `hg rebase` pauses for merge conflict resolution, the working | ||||
copy will no longer have the rebased node as a second parent. You | ||||
can use the new `conflictparents()` revset for finding the other | ||||
parent during a conflict. | ||||
* `hg rebase` now accepts repeated `--source` and `--base` | ||||
arguments. For example, `hg rebase --source 'A + B'` is equivalent | ||||
to `hg rebase --source A --source B`. This is a | ||||
backwards-incompatible change because it will break overriding an | ||||
alias `myrebase = rebase --source A` by `hg myrebase --source B` | ||||
(it will now rebase `(A + B)::` instead of `B::`). | ||||
* `hg recover` does not verify the validity of the whole repository | ||||
anymore. You can pass `--verify` or call `hg verify` if necessary. | ||||
* `hg debugmergestate` output format changed. Let us know if that is | ||||
causing you problems and we'll roll it back. | ||||
* Resolved merge conflicts are now cleared by `hg commit` even if the | ||||
working copy has no changes. | ||||
== Internal API Changes == | ||||
* The deprecated `ui.progress()` has now been deleted. Please use | ||||
`ui.makeprogress()` instead. | ||||
* `hg.merge()` now takes a `ctx` instead of the previous `repo` and | ||||
`node` arguments. | ||||
* `hg.merge()` has lost its `abort` argument. Please call | ||||
`hg.abortmerge()` directly instead. | ||||
* `hg.merge()` has lost its `mergeforce` argument. It should have | ||||
only ever been called with the same value as the `force` argument. | ||||
* The `*others` argument of `cmdutil.check_incompatible_arguments()` | ||||
changed from being varargs argument to being a single collection. | ||||