Re: [PATCH v2 19/27] gitattributes doc: document multi-line userdiff patterns
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Feb 15, 2021, 18:18 UTC
- Message-ID
- <7984b3d6-7c01-565e-f5fd-3104af4b3ce6@kdbg.org>
- In-Reply-To
- <20210215154427.32693-20-avarab@gmail.com>
Am 15.02.21 um 16:44 schrieb Ævar Arnfjörð Bjarmason:
Show 58 quoted lines
> diff --git a/t/t4018/custom.sh b/t/t4018/custom.sh > index 72d38dad68..30df13d8b2 100755 > --- a/t/t4018/custom.sh > +++ b/t/t4018/custom.sh > @@ -111,3 +111,53 @@ ChangeMe > > baz > EOF_TEST > + > +test_expect_success 'custom: setup negation syntax, ! is magic' ' > + git config diff.custom.xfuncname "!negation > +line" > +' > + > +test_diff_funcname 'custom: negation syntax, ! is magic' \ > + 8<<\EOF_HUNK 9<<\EOF_TEST > +line > +EOF_HUNK > +line > +!negation > + > +ChangeMe > + > +baz > +EOF_TEST > + > +test_expect_success 'custom: setup negation syntax, use [!] to override ! magic' ' > + git config diff.custom.xfuncname "[!]negation > +line" > +' > + > +test_diff_funcname 'custom: negation syntax, use [!] to override ! magic' \ > + 8<<\EOF_HUNK 9<<\EOF_TEST > +!negation > +EOF_HUNK > +line > +!negation > + > +ChangeMe > + > +baz > +EOF_TEST > + > +test_expect_success 'custom: setup captures in multiple patterns' ' > + git config diff.custom.xfuncname "!^=head > +^format ([^ ]+) > +^sub ([^;]+)" > +' > + > +test_diff_funcname 'custom: captures in multiple patterns' \ > + 8<<\EOF_HUNK 9<<\EOF_TEST > +foo > +EOF_HUNK > +sub foo; > +=head1 > +ChangeMe > + > +EOF_TEST
This test would not catch a regression. You must leave a line between the candidate-that-must-not-be, =head1, and ChangeMe, otherwise, =head1 is never tested against the negation pattern.
Or did you change the diff invocation in an earlier patch such that it does not emit context lines?
Show 24 quoted lines
> diff --git a/t/t4018/perl.sh b/t/t4018/perl.sh > index ac8fff7417..2952483a2c 100755 > --- a/t/t4018/perl.sh > +++ b/t/t4018/perl.sh > @@ -76,3 +76,19 @@ sub RIGHT > print "ChangeMe\n"; > } > EOF_TEST > + > + > +test_expect_success 'custom: setup config overrides built-in patterns' ' > + git config diff.perl.xfuncname "!^=head > +^[^ ]+.*" > +' > + > +test_diff_funcname 'custom: config overrides built-in patterns' \ > + 8<<\EOF_HUNK 9<<\EOF_TEST > +sub foo; > +EOF_HUNK > +sub foo; > +=head1 > +ChangeMe > + > +EOF_TEST
Same here.
-- Hannes