tests/test-issue6642.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 15 Mar 2024 01:31:57 +0100
branchstable
changeset 51505 c9ceb4f60256
parent 50725 7e5be4a7cda7
permissions -rw-r--r--
phases: avoid N² behavior in `advanceboundary` We allowed duplicated entries in the deque, which each entry could potentially insert all its ancestors. So advancing boundary for the full repository would mean each revision would walk all its ancestors, resulting in O(N²) iteration. For repository of any decent size, N² is quickly insane. We introduce a simple set to avoid this and get back to reasonable performance.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49314
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     1
hg log --debug shouldn't show different data than {file_*} template keywords
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     2
https://bz.mercurial-scm.org/show_bug.cgi?id=6642
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     3
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     4
  $ hg init issue6642
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     5
  $ cd issue6642
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     6
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     7
  $ echo a > a
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     8
  $ hg ci -qAm a
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
     9
  $ echo b > b
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    10
  $ hg ci -qAm b
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    11
  $ hg up 0 -q
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    12
  $ echo c > c
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    13
  $ hg ci -qAm c
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    14
  $ hg merge -q
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    15
  $ hg ci -m merge
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    16
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    17
  $ hg log -GT '{rev} {desc} file_adds: [{file_adds}], file_mods: [{file_mods}], file_dels: [{file_dels}], files: [{files}]\n'
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    18
  @    3 merge file_adds: [], file_mods: [], file_dels: [], files: []
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    19
  |\
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    20
  | o  2 c file_adds: [c], file_mods: [], file_dels: [], files: [c]
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    21
  | |
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    22
  o |  1 b file_adds: [b], file_mods: [], file_dels: [], files: [b]
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    23
  |/
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    24
  o  0 a file_adds: [a], file_mods: [], file_dels: [], files: [a]
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    25
  
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    26
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    27
  $ hg log -r . --debug | grep files
49315
2f326ea19fbc logcmdutil: use the same data as {file*} template keywords (issue6642)
Anton Shestakov <av6@dwimlabs.net>
parents: 49314
diff changeset
    28
  [1]
50725
7e5be4a7cda7 tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents: 49315
diff changeset
    29
  $ hg log -r . --debug -T json | grep -E '(added|removed|modified)'
49315
2f326ea19fbc logcmdutil: use the same data as {file*} template keywords (issue6642)
Anton Shestakov <av6@dwimlabs.net>
parents: 49314
diff changeset
    30
    "added": [],
49314
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    31
    "modified": [],
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    32
    "removed": [],
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    33
  $ hg log -r . --debug -T xml | grep path
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    34
  <paths>
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
    35
  </paths>