mirror of
https://github.com/git/git.git
synced 2024-11-29 04:54:56 +08:00
8da56a4848
While reviewing some dts diffs recently I noticed that the hunk header logic was failing to find the containing node. This is because the regex doesn't consider properties that may span multiple lines, i.e. property = <something>, <something_else>; and it got hung up on comments inside nodes that look like the root node because they start with '/*'. Add tests for these cases and update the regex to find them. Maybe detecting the root node is too complicated but forcing it to be a backslash with any amount of whitespace up to an open bracket seemed OK. I tried to detect that a comment is in-between the two parts but I wasn't happy so I just dropped it. Cc: Rob Herring <robh+dt@kernel.org> Cc: Frank Rowand <frowand.list@gmail.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org> Reviewed-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com> |
||
---|---|---|
.. | ||
cpp-c++-function | ||
cpp-class-constructor | ||
cpp-class-constructor-mem-init | ||
cpp-class-definition | ||
cpp-class-definition-derived | ||
cpp-class-destructor | ||
cpp-function-returning-global-type | ||
cpp-function-returning-nested | ||
cpp-function-returning-pointer | ||
cpp-function-returning-reference | ||
cpp-gnu-style-function | ||
cpp-namespace-definition | ||
cpp-operator-definition | ||
cpp-skip-access-specifiers | ||
cpp-skip-comment-block | ||
cpp-skip-labels | ||
cpp-struct-definition | ||
cpp-struct-single-line | ||
cpp-template-function-definition | ||
cpp-union-definition | ||
cpp-void-c-function | ||
css-brace-in-col-1 | ||
css-colon-eol | ||
css-colon-selector | ||
css-common | ||
css-long-selector-list | ||
css-prop-sans-indent | ||
css-short-selector-list | ||
css-trailing-space | ||
custom1-pattern | ||
custom2-match-to-end-of-line | ||
custom3-alternation-in-pattern | ||
dts-labels | ||
dts-node-unitless | ||
dts-nodes | ||
dts-nodes-boolean-prop | ||
dts-nodes-comment1 | ||
dts-nodes-comment2 | ||
dts-nodes-multiline-prop | ||
dts-reference | ||
dts-root | ||
dts-root-comment | ||
fountain-scene | ||
golang-complex-function | ||
golang-func | ||
golang-interface | ||
golang-long-func | ||
golang-struct | ||
java-class-member-function | ||
matlab-class-definition | ||
matlab-function | ||
matlab-octave-section-1 | ||
matlab-octave-section-2 | ||
matlab-section | ||
perl-skip-end-of-heredoc | ||
perl-skip-forward-decl | ||
perl-skip-sub-in-pod | ||
perl-sub-definition | ||
perl-sub-definition-kr-brace | ||
php-abstract-class | ||
php-class | ||
php-final-class | ||
php-function | ||
php-interface | ||
php-method | ||
php-trait | ||
README | ||
rust-fn | ||
rust-impl | ||
rust-struct | ||
rust-trait |
How to write RIGHT test cases ============================= Insert the word "ChangeMe" (exactly this form) at a distance of at least two lines from the line that must appear in the hunk header. The text that must appear in the hunk header must contain the word "right", but in all upper-case, like in the title above. To mark a test case that highlights a malfunction, insert the word BROKEN in all lower-case somewhere in the file. This text is a bit twisted and out of order, but it is itself a test case for the default hunk header pattern. Know what you are doing if you change it. BTW, this tests that the head line goes to the hunk header, not the line of equal signs.