relnotes/next
author Martin von Zweigbergk <martinvonz@google.com>
Thu, 18 Apr 2019 13:35:02 -0700
changeset 42405 0c72eddb4be5
parent 42372 ba6ca4e80607
child 42498 089f14dd7df3
permissions -rw-r--r--
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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
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
42309
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
     6
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
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: 42271
diff changeset
     8
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
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: 42271
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: 42271
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: 42271
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: 42271
diff changeset
    13
   topo)` revset).
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    14
604c086ddde6 log: add config for making `hg log -G` always topo-sorted
Martin von Zweigbergk <martinvonz@google.com>
parents: 42271
diff changeset
    15
42271
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
42405
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
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: 42372
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: 42372
diff changeset
    20
   "Backwards Compatibility Changes".
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    21
42271
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
42334
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42309
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: 42309
diff changeset
    26
   parent/grandparent styles. Setting
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42309
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: 42309
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: 42309
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: 42309
diff changeset
    30
   supported.
bcb1a2b6cd00 relnotes: mention removed support for mixed log graph lines
Martin von Zweigbergk <martinvonz@google.com>
parents: 42309
diff changeset
    31
42372
ba6ca4e80607 relnotes: document changed behavior of ui.origbackuppath pointing to file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42343
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: 42343
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: 42343
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: 42343
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: 42343
diff changeset
    36
   subdirectories.
42271
0ed293a3f00e releasenotes: add a file in which to record release notes
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff changeset
    37
42405
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
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: 42372
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: 42372
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: 42372
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: 42372
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: 42372
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: 42372
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: 42372
diff changeset
    45
   sets.
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    46
0c72eddb4be5 templatekw: make {file_*} compare to both merge parents (issue4292)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42372
diff changeset
    47
42271
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.
42341
27d6956d386b match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42334
diff changeset
    51
27d6956d386b match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42334
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: 42334
diff changeset
    53
   empty string instead of '.' to indicate the root directory.
42343
d8e55c0c642c util: make util.dirs() and util.finddirs() include root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42341
diff changeset
    54
d8e55c0c642c util: make util.dirs() and util.finddirs() include root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents: 42341
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: 42341
diff changeset
    56
   root directory (empty string).