1 == New Features == |
1 == New Features == |
2 |
2 |
3 * New config `commands.commit.post-status` shows status after successful |
|
4 commit. |
|
5 |
|
6 * `hg root` now has templating support, including support for showing |
|
7 where a repo share's source is. See `hg help -v root` for details. |
|
8 |
|
9 * New `--force-close-branch` flag for `hg commit` to forcibly close |
|
10 branch from a non-head changeset. |
|
11 |
|
12 * The curses-based interface for commands like `hg commit -i` now supports |
|
13 a range-select mechanism. Select the first line using space like before, |
|
14 navigate to the last line, and press X (capital x) to set all items in |
|
15 the range at once. Lowercase x has been added as a synonym for space to |
|
16 help reinforce the mechanism, and pressing enter/return continues to be a |
|
17 synonym for "toggle the current line and move down to the next item in |
|
18 this section." |
|
19 |
3 |
20 == New Experimental Features == |
4 == New Experimental Features == |
21 |
|
22 * New config `experimental.log.topo` makes `hg log -G` use |
|
23 topological sorting. This is especially useful for aliases since it |
|
24 lets the alias accept an `-r` option while still using topological |
|
25 sorting with or without the `-r` (unlike if you use the `sort(..., |
|
26 topo)` revset). |
|
27 |
5 |
28 |
6 |
29 == Bug Fixes == |
7 == Bug Fixes == |
30 |
8 |
31 * issue4292: "hg log and {files} {file_adds} {file_mods} {file_dels} |
|
32 in template show wrong files on merged revision". See details in |
|
33 "Backwards Compatibility Changes". |
|
34 |
|
35 |
9 |
36 == Backwards Compatibility Changes == |
10 == Backwards Compatibility Changes == |
37 |
|
38 * Removed (experimental) support for log graph lines mixing |
|
39 parent/grandparent styles. Setting |
|
40 e.g. `experimental.graphstyle.parent = !` and |
|
41 `experimental.graphstyle.grandparent = 3.` would use `!` for the |
|
42 first three lines of the graph and then `.`. This is no longer |
|
43 supported. |
|
44 |
|
45 * If `ui.origbackuppath` had been (incorrectly) configured to point |
|
46 to a file, we will now replace that file by a directory and put |
|
47 backups in that directory. This is similar to how we would |
|
48 previously replace files *in* the configured directory by |
|
49 subdirectories. |
|
50 |
|
51 * Template keyword `{file_mods}`, `{file_adds}`, and `{file_dels}` |
|
52 have changed behavior on merge commits. They used to be relative to |
|
53 the first parent, but they now consider both parents. `{file_adds}` |
|
54 shows files that exists in the commit but did not exist in either |
|
55 parent. `{file_dels}` shows files that do not exist in the commit |
|
56 but existed in either parent. `{file_mods}` show the remaining |
|
57 files from `{files}` that were not in the other two |
|
58 sets. |
|
59 |
11 |
60 |
12 |
61 == Internal API Changes == |
13 == Internal API Changes == |
62 |
14 |
63 * Matchers are no longer iterable. Use `match.files()` instead. |
|
64 |
|
65 * `match.visitdir()` and `match.visitchildrenset()` now expect the |
|
66 empty string instead of '.' to indicate the root directory. |
|
67 |
|
68 * `util.dirs()` and `util.finddirs()` now include an entry for the |
|
69 root directory (empty string). |
|
70 |
|
71 * shelve is no longer an extension now. it will be turned on by default. |
|
72 |
|
73 * New API to manage unfinished operations: Earlier there were distinct APIs |
|
74 which dealt with unfinished states and separate lists maintaining them |
|
75 that are `cmdutil.afterresolvestates`, `cmdutil.unfinishedstates` and |
|
76 `cmdutil.STATES`. Now these have been unified to a single |
|
77 API which handles the various states and their utilities. This API |
|
78 has been added to `state.py`. Now instead of adding to these 3 lists |
|
79 independently a state for a new operation can be registered using |
|
80 `addunfinished()` in `state` module. |
|
81 |
|
82 * `cmdutil.checkunfinished()` now includes detection for merge too. |
|
83 |
|
84 * merge abort has been disallowed in case an operation of higher |
|
85 precedence is in progress to avoid cases of partial abort of |
|
86 operations. |
|
87 |
|
88 * We used to automatically attempt to make extensions compatible with |
|
89 Python 3 (by translating their source code while loading it). We no |
|
90 longer do that. |
|