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

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

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 11, 2021, 17:16 UTC
Message-ID
<xmqqa6lnaola.fsf@gitster.g>
In-Reply-To
<20210811145341.43429-1-tsdh@gnu.org>
Just a few whitespace nits that "git am" noticed for me.
Tassilo Horn <tsdh@gnu.org> writes:
Show 14 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.

Show 12 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.

Show 17 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).

Previous: Tassilo HornNext: Tassilo Horn
Message 2 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.