1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
# Mercurial 5.9 (2021-08-16)
## New Features
- `hg config` now has a `--source` option to show where each
configuration value comes from.
- Introduced a command (debug-repair-issue6528) to repair repositories affected
by issue6528 where certain files would show up as modified even if they were
clean due to an issue in the copy-tracing code.
## New Experimental Features
- A `changelogv2` format has been introduced. It is not ready for use yet, but
will be used later to address some of the weaknesses of the current revlog
format.
- Initial experiment and support for `dirstatev2`, a new dirstate format that
addresses some of the weaknesses of the current dirstate format. Python + C
and Rust support are being implemented, but the Rust solution is the one
currently getting the attention for performance.
- Initial support for `rhg status`. `rhg` is the Rust wrapper executable for hg
that shortcuts some commands for faster execution speed.
## Bug Fixes
- Fixed committing empty files with `narrow`
- Allow overriding `pip`'s pep517 compliance to build C or Rust extensions
- Fixed regression on outgoing email when not specifying revisions
- Fixed a regression causing bookmarks to disappear when using Rust persistent nodemap
- Fixed a regression (in 5.9.1) introduced in 5.9 when cloning repos with
deep filenames
- Fixed detection of directories becoming symlinks, but only when using the
Rust extensions.
- Fixed ignore and include not composing in the Rust status
- `hg commit --interactive` now handles deselecting edits of a rename
- Fixed a case where `hg evolve` gives different results when interrupted
- Fixed a memory leak in phases computation
- `histedit` and `shelve` don't swallow errors when updating the working copy
anymore
- Improve error message when detecting content-divergence with a hidden
common predecessor
- No longer re-order parents in filelog, see issue6533
- Fix revisions affected by issue6533 on the fly during exchange
- Many Windows fixes for stability and py3 compatibility improvements
- Many other miscellaneous fixes
## Backwards Compatibility Changes
## Internal API Changes
The Dirstate API have been updated as the previous function leaked some
internal details and did not distinguish between two important cases: "We are
changing parent and need to adjust the dirstate" and "some command is changing
which file is tracked". To clarify the situation:
- the following functions have been deprecated,
- `dirstate.add`,
- `dirstate.normal`,
- `dirstate.normallookup`,
- `dirstate.merge`,
- `dirstate.otherparent`,
- `dirstate.remove`,
- `dirstate.drop`,
- `dirstateitem.__getitem__`,
- these new functions are added for the "adjusting parents" use-case:
- `dirstate.update_file`,
- `dirstate.update_file_p1`,
- these new function are added for the "adjusting wc file" use-case":
- `dirstate.set_tracked`,
- `dirstate.set_untracked`,
- `dirstate.set_clean`,
- `dirstate.set_possibly_dirty`,
See inline documentation of the new functions for details.
- Additionally, the following have been deprecated:
- `urlutil.getpath` function
- `localrepository.updatecaches`' `full` argument
- The following have been removed:
- `revlog.revlogio` has been removed
|