Mercurial > hg
comparison tests/test-fix.t @ 40533:2ecf5c24d0cd
fix: rename :fileset subconfig to :pattern
This name was always inaccurate, since the config accepts any pattern.
Hopefully so few people use this right now that it won't matter, but there will
now be a warning if the old config name is used.
Differential Revision: https://phab.mercurial-scm.org/D5226
author | Danny Hooper <hooper@google.com> |
---|---|
date | Mon, 05 Nov 2018 16:05:45 -0800 |
parents | 93bab80993f4 |
children | 2ad56a9b983b |
comparison
equal
deleted
inserted
replaced
40532:93bab80993f4 | 40533:2ecf5c24d0cd |
---|---|
64 > [experimental] | 64 > [experimental] |
65 > evolution.createmarkers=True | 65 > evolution.createmarkers=True |
66 > evolution.allowunstable=True | 66 > evolution.allowunstable=True |
67 > [fix] | 67 > [fix] |
68 > uppercase-whole-file:command="$PYTHON" $UPPERCASEPY all | 68 > uppercase-whole-file:command="$PYTHON" $UPPERCASEPY all |
69 > uppercase-whole-file:fileset=set:**.whole | 69 > uppercase-whole-file:pattern=set:**.whole |
70 > uppercase-changed-lines:command="$PYTHON" $UPPERCASEPY | 70 > uppercase-changed-lines:command="$PYTHON" $UPPERCASEPY |
71 > uppercase-changed-lines:linerange={first}-{last} | 71 > uppercase-changed-lines:linerange={first}-{last} |
72 > uppercase-changed-lines:fileset=set:**.changed | 72 > uppercase-changed-lines:pattern=set:**.changed |
73 > EOF | 73 > EOF |
74 | 74 |
75 Help text for fix. | 75 Help text for fix. |
76 | 76 |
77 $ hg help fix | 77 $ hg help fix |
124 formatting fixes to modified lines in C++ code: | 124 formatting fixes to modified lines in C++ code: |
125 | 125 |
126 [fix] | 126 [fix] |
127 clang-format:command=clang-format --assume-filename={rootpath} | 127 clang-format:command=clang-format --assume-filename={rootpath} |
128 clang-format:linerange=--lines={first}:{last} | 128 clang-format:linerange=--lines={first}:{last} |
129 clang-format:fileset=set:**.cpp or **.hpp | 129 clang-format:pattern=set:**.cpp or **.hpp |
130 | 130 |
131 The :command suboption forms the first part of the shell command that will be | 131 The :command suboption forms the first part of the shell command that will be |
132 used to fix a file. The content of the file is passed on standard input, and | 132 used to fix a file. The content of the file is passed on standard input, and |
133 the fixed file content is expected on standard output. Any output on standard | 133 the fixed file content is expected on standard output. Any output on standard |
134 error will be displayed as a warning. If the exit status is not zero, the file | 134 error will be displayed as a warning. If the exit status is not zero, the file |
145 substituted into the command: | 145 substituted into the command: |
146 | 146 |
147 {first} The 1-based line number of the first line in the modified range | 147 {first} The 1-based line number of the first line in the modified range |
148 {last} The 1-based line number of the last line in the modified range | 148 {last} The 1-based line number of the last line in the modified range |
149 | 149 |
150 The :fileset suboption determines which files will be passed through each | 150 The :pattern suboption determines which files will be passed through each |
151 configured tool. See 'hg help fileset' for possible values. If there are file | 151 configured tool. See 'hg help patterns' for possible values. If there are file |
152 arguments to 'hg fix', the intersection of these filesets is used. | 152 arguments to 'hg fix', the intersection of these patterns is used. |
153 | 153 |
154 There is also a configurable limit for the maximum size of file that will be | 154 There is also a configurable limit for the maximum size of file that will be |
155 processed by 'hg fix': | 155 processed by 'hg fix': |
156 | 156 |
157 [fix] | 157 [fix] |
369 $ hg commit -Aqm "foo" | 369 $ hg commit -Aqm "foo" |
370 $ printf "zz\na\nc\ndd\nee\nff\nf\ngg\n" > foo.txt | 370 $ printf "zz\na\nc\ndd\nee\nff\nf\ngg\n" > foo.txt |
371 | 371 |
372 $ hg --config "fix.fail:command=echo" \ | 372 $ hg --config "fix.fail:command=echo" \ |
373 > --config "fix.fail:linerange={first}:{last}" \ | 373 > --config "fix.fail:linerange={first}:{last}" \ |
374 > --config "fix.fail:fileset=foo.txt" \ | 374 > --config "fix.fail:pattern=foo.txt" \ |
375 > fix --working-dir | 375 > fix --working-dir |
376 $ cat foo.txt | 376 $ cat foo.txt |
377 1:1 4:6 8:8 | 377 1:1 4:6 8:8 |
378 | 378 |
379 $ cd .. | 379 $ cd .. |
532 > printf 'HELLO\n' | 532 > printf 'HELLO\n' |
533 > printf "$@: some\nerror that didn't stop the tool" >&2 | 533 > printf "$@: some\nerror that didn't stop the tool" >&2 |
534 > exit 0 # success despite the stderr output | 534 > exit 0 # success despite the stderr output |
535 > EOF | 535 > EOF |
536 $ hg --config "fix.work:command=sh $TESTTMP/work.sh {rootpath}" \ | 536 $ hg --config "fix.work:command=sh $TESTTMP/work.sh {rootpath}" \ |
537 > --config "fix.work:fileset=hello.txt" \ | 537 > --config "fix.work:pattern=hello.txt" \ |
538 > fix --working-dir | 538 > fix --working-dir |
539 [wdir] work: hello.txt: some | 539 [wdir] work: hello.txt: some |
540 [wdir] work: error that didn't stop the tool | 540 [wdir] work: error that didn't stop the tool |
541 $ cat hello.txt | 541 $ cat hello.txt |
542 HELLO | 542 HELLO |
549 > printf 'GOODBYE\n' | 549 > printf 'GOODBYE\n' |
550 > printf "$@: some\nerror that did stop the tool\n" >&2 | 550 > printf "$@: some\nerror that did stop the tool\n" >&2 |
551 > exit 42 # success despite the stdout output | 551 > exit 42 # success despite the stdout output |
552 > EOF | 552 > EOF |
553 $ hg --config "fix.fail:command=sh $TESTTMP/fail.sh {rootpath}" \ | 553 $ hg --config "fix.fail:command=sh $TESTTMP/fail.sh {rootpath}" \ |
554 > --config "fix.fail:fileset=hello.txt" \ | 554 > --config "fix.fail:pattern=hello.txt" \ |
555 > --config "fix.failure=abort" \ | 555 > --config "fix.failure=abort" \ |
556 > fix --working-dir | 556 > fix --working-dir |
557 [wdir] fail: hello.txt: some | 557 [wdir] fail: hello.txt: some |
558 [wdir] fail: error that did stop the tool | 558 [wdir] fail: error that did stop the tool |
559 abort: no fixes will be applied | 559 abort: no fixes will be applied |
563 goodbye | 563 goodbye |
564 $ cat foo.whole | 564 $ cat foo.whole |
565 foo | 565 foo |
566 | 566 |
567 $ hg --config "fix.fail:command=sh $TESTTMP/fail.sh {rootpath}" \ | 567 $ hg --config "fix.fail:command=sh $TESTTMP/fail.sh {rootpath}" \ |
568 > --config "fix.fail:fileset=hello.txt" \ | 568 > --config "fix.fail:pattern=hello.txt" \ |
569 > fix --working-dir | 569 > fix --working-dir |
570 [wdir] fail: hello.txt: some | 570 [wdir] fail: hello.txt: some |
571 [wdir] fail: error that did stop the tool | 571 [wdir] fail: error that did stop the tool |
572 $ cat hello.txt | 572 $ cat hello.txt |
573 goodbye | 573 goodbye |
574 $ cat foo.whole | 574 $ cat foo.whole |
575 FOO | 575 FOO |
576 | 576 |
577 $ hg --config "fix.fail:command=exit 42" \ | 577 $ hg --config "fix.fail:command=exit 42" \ |
578 > --config "fix.fail:fileset=hello.txt" \ | 578 > --config "fix.fail:pattern=hello.txt" \ |
579 > fix --working-dir | 579 > fix --working-dir |
580 [wdir] fail: exited with status 42 | 580 [wdir] fail: exited with status 42 |
581 | 581 |
582 $ cd .. | 582 $ cd .. |
583 | 583 |
1025 $ printf "hello\ngoodbye\n" > foo/bar | 1025 $ printf "hello\ngoodbye\n" > foo/bar |
1026 $ hg add | 1026 $ hg add |
1027 adding foo/bar | 1027 adding foo/bar |
1028 $ hg --config "fix.fail:command=printf '%s\n' '{rootpath}' '{basename}'" \ | 1028 $ hg --config "fix.fail:command=printf '%s\n' '{rootpath}' '{basename}'" \ |
1029 > --config "fix.fail:linerange='{first}' '{last}'" \ | 1029 > --config "fix.fail:linerange='{first}' '{last}'" \ |
1030 > --config "fix.fail:fileset=foo/bar" \ | 1030 > --config "fix.fail:pattern=foo/bar" \ |
1031 > fix --working-dir | 1031 > fix --working-dir |
1032 $ cat foo/bar | 1032 $ cat foo/bar |
1033 foo/bar | 1033 foo/bar |
1034 bar | 1034 bar |
1035 1 | 1035 1 |
1103 BAR | 1103 BAR |
1104 FOO1 | 1104 FOO1 |
1105 FOO2 | 1105 FOO2 |
1106 | 1106 |
1107 $ cd .. | 1107 $ cd .. |
1108 | |
1109 The :fileset subconfig was a misnomer, so we renamed it to :pattern. We will | |
1110 still accept :fileset by itself as if it were :pattern, but this will issue a | |
1111 warning. | |
1112 | |
1113 $ hg init filesetispattern | |
1114 $ cd filesetispattern | |
1115 | |
1116 $ printf "foo\n" > foo.whole | |
1117 $ printf "first\nsecond\n" > bar.txt | |
1118 $ hg add -q | |
1119 $ hg fix -w --config fix.sometool:fileset=bar.txt \ | |
1120 > --config fix.sometool:command=tac | |
1121 the fix.tool:fileset config name is deprecated; please rename it to fix.tool:pattern | |
1122 | |
1123 $ cat foo.whole | |
1124 FOO | |
1125 $ cat bar.txt | |
1126 second | |
1127 first | |
1128 | |
1129 $ cd .. |