annotate relnotes/next @ 42424:0c72eddb4be5

templatekw: make {file_*} compare to both merge parents (issue4292) This redefines the {file_adds}, {file_dels}, {file_mods} template keywords by getting the lists from the recently introduced context methods instead of getting them from status compared to p1. As mentioned before, these are better defined on merge commits. The total number of files from the three lists now always add up to the number of files in {files}. I timed this command: hg log -r 4.0::5.0 -T '{rev}\n {file_mods}\n {file_adds}\n {file_dels}\n' It went from 7.6s to 5.6s with this patch. So it's actually faster than before. Note that the "files:" field in the bazaar test log output was using "{file_mods}" (not "{files}" as one might think based on the label). Differential Revision: https://phab.mercurial-scm.org/D6369
author Martin von Zweigbergk <martinvonz@google.com>
date Thu, 18 Apr 2019 13:35:02 -0700
parents ba6ca4e80607
children 089f14dd7df3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
42298
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
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
3 * New config `commands.commit.post-status` shows status after successful
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
4 commit.
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
5
42336
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42298
diff changeset
6
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42298
diff changeset
7 == New Experimental Features ==
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42298
diff changeset
8
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42298
diff changeset
9 * New config `experimental.log.topo` makes `hg log -G` use
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42298
diff changeset
10 topological sorting. This is especially useful for aliases since it
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42298
diff changeset
11 lets the alias accept an `-r` option while still using topological
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42298
diff changeset
12 sorting with or without the `-r` (unlike if you use the `sort(...,
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42298
diff changeset
13 topo)` revset).
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42298
diff changeset
14
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42298
diff changeset
15
42298
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
16 == Bug Fixes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
17
42424
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
18 * issue4292: "hg log and {files} {file_adds} {file_mods} {file_dels}
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
19 in template show wrong files on merged revision". See details in
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
20 "Backwards Compatibility Changes".
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
21
42298
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
22
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
23 == Backwards Compatibility Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
24
42356
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42336
diff changeset
25 * Removed (experimental) support for log graph lines mixing
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42336
diff changeset
26 parent/grandparent styles. Setting
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42336
diff changeset
27 e.g. `experimental.graphstyle.parent = !` and
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42336
diff changeset
28 `experimental.graphstyle.grandparent = 3.` would use `!` for the
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42336
diff changeset
29 first three lines of the graph and then `.`. This is no longer
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42336
diff changeset
30 supported.
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42336
diff changeset
31
42394
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42365
diff changeset
32 * If `ui.origbackuppath` had been (incorrectly) configured to point
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42365
diff changeset
33 to a file, we will now replace that file by a directory and put
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42365
diff changeset
34 backups in that directory. This is similar to how we would
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42365
diff changeset
35 previously replace files *in* the configured directory by
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42365
diff changeset
36 subdirectories.
42298
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
37
42424
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
38 * Template keyword `{file_mods}`, `{file_adds}`, and `{file_dels}`
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
39 have changed behavior on merge commits. They used to be relative to
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
40 the first parent, but they now consider both parents. `{file_adds}`
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
41 shows files that exists in the commit but did not exist in either
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
42 parent. `{file_dels}` shows files that do not exist in the commit
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
43 but existed in either parent. `{file_mods}` show the remaining
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
44 files from `{files}` that were not in the other two
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
45 sets.
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
46
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42394
diff changeset
47
42298
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
48 == Internal API Changes ==
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
49
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
50 * Matchers are no longer iterable. Use `match.files()` instead.
42363
27d6956d386b match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42356
diff changeset
51
27d6956d386b match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42356
diff changeset
52 * `match.visitdir()` and `match.visitchildrenset()` now expect the
27d6956d386b match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42356
diff changeset
53 empty string instead of '.' to indicate the root directory.
42365
d8e55c0c642c util: make util.dirs() and util.finddirs() include root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42363
diff changeset
54
d8e55c0c642c util: make util.dirs() and util.finddirs() include root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42363
diff changeset
55 * `util.dirs()` and `util.finddirs()` now include an entry for the
d8e55c0c642c util: make util.dirs() and util.finddirs() include root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42363
diff changeset
56 root directory (empty string).