git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v5] userdiff: improve java hunk header regex

From
Tassilo Horn <tsdh@gnu.org>
Date
Aug 11, 2021, 17:42 UTC
Message-ID
<87im0b6f92.fsf@gnu.org>
In-Reply-To
<xmqqa6lnaola.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
> Just a few whitespace nits that "git am" noticed for me.
Ah, indeed.  Should all be fixed in v6.
Show 19 quoted lines
>> diff --git a/t/t4018/java-class-member-function b/t/t4018/java-class-member-function
>> index 298bc7a71b..a8d7850412 100644
>> --- a/t/t4018/java-class-member-function
>> +++ b/t/t4018/java-class-member-function
>> @@ -3,6 +3,10 @@ public class Beer
>>  	int special;
>>  	public static void main(String RIGHT[])
>>  	{
>> -		System.out.print("ChangeMe");
>> +            someMethodCall();
>> +            someOtherMethod("17")
>> +                .doThat();
>> +            // Whatever
>> +            System.out.print("ChangeMe");
>
> I notice that the original used HT (horizontal tab) to indent, but
> the new one uses runs of SP (space).  This project has no written
> preference for coding style for Java, which means it would have been
> more appreciated if the original style were kept.
Fixed in v6.
Show 16 quoted lines
>> diff --git a/t/t4018/java-enum-constant b/t/t4018/java-enum-constant
>> new file mode 100644
>> index 0000000000..a1931c8379
>> --- /dev/null
>> +++ b/t/t4018/java-enum-constant
>> @@ -0,0 +1,6 @@
>> +private enum RIGHT {
>> +    ONE,
>> +    TWO,
>> +    THREE,
>> +    ChangeMe
>> +}
>
> For these new tests, you'd be the one setting what styles to use ;-)
> After all, we serve users from projects with different style, and
> having variety in our test patterns is not bad.
I completely agree.
Show 20 quoted lines
>> diff --git a/userdiff.c b/userdiff.c
>> index 3c3bbe38b0..6644931ce1 100644
>> --- a/userdiff.c
>> +++ b/userdiff.c
>> @@ -142,7 +142,11 @@ PATTERNS("html",
>>  	 "[^<>= \t]+"),
>>  PATTERNS("java",
>>  	 "!^[ \t]*(catch|do|for|if|instanceof|new|return|switch|throw|while)\n"
>> -	 "^[ \t]*(([A-Za-z_][A-Za-z_0-9]*[ \t]+)+[A-Za-z_][A-Za-z_0-9]*[ \t]*\\([^;]*)$",
>> +         /* Class, enum, and interface declarations */
>> +         "^[ \t]*(([a-z]+[ \t]+)*(class|enum|interface)[ \t]+[A-Za-z][A-Za-z0-9_$]*[ \t]+.*)$\n"
>> +         /* Method definitions; note that constructor signatures are not */
>> +         /* matched because they are indistinguishable from method calls. */
>> +         "^[ \t]*(([A-Za-z_<>&][][?&<>.,A-Za-z_0-9]*[ \t]+)+[A-Za-z_][A-Za-z_0-9]*[ \t]*\\([^;]*)$",
>>  	 /* -- */
>>  	 "[a-zA-Z_][a-zA-Z0-9_]*"
>>  	 "|[-+0-9.e]+[fFlL]?|0[xXbB]?[0-9a-fA-F]+[lL]?"
>
> This hunk does violate project convention that our codebase uses
> leading HT to indent (and align with extra SPs if needed).
Also fixed in v6.

That leads to the question if you'd welcome a patch adding a .dir-locals.el to the repository with the right settings so that it'll just work for contributors using the One True Editor. Would you?

Bye, Tassilo

Previous: Junio C HamanoNext: Junio C Hamano
Message 3 of 5 in “userdiff: improve java hunk header regex”
  1. userdiff: improve java hunk header regexTassilo Horn, Aug 11, 2021
  2. Junio C HamanoAug 11, 2021
  3. Tassilo HornAug 11, 2021
  4. Junio C HamanoAug 11, 2021
  5. Tassilo HornAug 11, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.