annotate tests/test-issue6642.t @ 49603:3eda36e9b3d6 stable

matcher: fix issues regex flag contained in pattern (issue6759) Python 3.11 is now enforcing that flag must be at the beginning of the regex This creates a serious regression for people using Python 3.11 with an hgignore using flag in a "relre" pattern. We now detect any flags in such pattern and "prepend" our ".*" pattern after them. In addition, we now insert the flag in the regexp to only affect the pattern we are rewriting. Otherwise, the regex built from the combined pattern would these flags in the middle of it anyway. As a side effect of this last change, we fix a bug… before this change regex flag in a pattern would affect all combined patterns. That was bad and is not longer the case. The Rust code needs to be updated to fix that very bug, but we will do it in another changeset.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 16 Nov 2022 13:05:01 +0100
parents 2f326ea19fbc
children 7e5be4a7cda7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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]
49314
ec3f88480dbf tests: show that hg log --debug output differs from {file*} template keywords
Anton Shestakov <av6@dwimlabs.net>
parents:
diff changeset
29 $ hg log -r . --debug -T json | egrep '(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>