threads / patch / 54749

patchstyle: indent multiline "if" conditions by 4 spaces

Subject: [PATCH] style: indent multiline "if" conditions by 4 spaces

## tl;dr

5 messages between Dec 3, 2020 and Dec 3, 2020. Diffs are folded; open one to read it.

replies: 4people: 2as markdown or json

Jeff King· Dec 3, 2020, 08:00 UTC · lore

Commit 6dc905d974 (config: split repo scope to local and worktree, 2020-02-10) made some "if" statements multiline, but didn't indent the second lines in our usual way.

Signed-off-by: Jeff King <peff@peff.net>
---
I just happened to be reading nearby code and saw this.
 remote.c      | 2 +-
 upload-pack.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
Show changes to 2 files +2 −2

remote.c, upload-pack.c

diff --git a/remote.c b/remote.c
index 8a6dbbb903..8b9d090ae5 100644
--- a/remote.c
+++ b/remote.c
@@ -355,7 +355,7 @@ static int handle_config(const char *key, const char *value, void *cb)
 	remote = make_remote(name, namelen);
 	remote->origin = REMOTE_CONFIG;
 	if (current_config_scope() == CONFIG_SCOPE_LOCAL ||
-	current_config_scope() == CONFIG_SCOPE_WORKTREE)
+	    current_config_scope() == CONFIG_SCOPE_WORKTREE)
 		remote->configured_in_repo = 1;
 	if (!strcmp(subkey, "mirror"))
 		remote->mirror = git_config_bool(key, value);
diff --git a/upload-pack.c b/upload-pack.c
index 5dc8e1f844..a85d4ec502 100644
--- a/upload-pack.c
+++ b/upload-pack.c
@@ -1302,7 +1302,7 @@ static int upload_pack_config(const char *var, const char *value, void *cb_data)
 	}
 
 	if (current_config_scope() != CONFIG_SCOPE_LOCAL &&
-	current_config_scope() != CONFIG_SCOPE_WORKTREE) {
+	    current_config_scope() != CONFIG_SCOPE_WORKTREE) {
 		if (!strcmp("uploadpack.packobjectshook", var))
 			return git_config_string(&data->pack_objects_hook, var, value);
 	}
-- 
2.29.2.896.g080220a959
Junio C Hamano· Dec 3, 2020, 18:22 UTC · re: Jeff King · lore

Re: [PATCH] style: indent multiline "if" conditions by 4 spaces

Jeff King <peff@peff.net> writes:
Show 7 quoted lines
> Commit 6dc905d974 (config: split repo scope to local and worktree,
> 2020-02-10) made some "if" statements multiline, but didn't indent the
> second lines in our usual way.
>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
> I just happened to be reading nearby code and saw this.

Can we rephrase "by 4 spaces" to avoid misleading new developers, though? It's not like our rule is to indent continued expression by 4 spaces---it happens to be 4 in this case only because the second line is aligned with the column inside "if (".

If the expression were
	if ((A == X && B == Y &&
	     boolean_expression_on_the_second_line()) ||
	    C == Z)

we would have indented the second line to align with the inside of the opening parenthesis, which may end up with "by 5 spaces", but four vs five is not the important part of the equation.

Thanks.  
Show 26 quoted lines
> diff --git a/remote.c b/remote.c
> index 8a6dbbb903..8b9d090ae5 100644
> --- a/remote.c
> +++ b/remote.c
> @@ -355,7 +355,7 @@ static int handle_config(const char *key, const char *value, void *cb)
>  	remote = make_remote(name, namelen);
>  	remote->origin = REMOTE_CONFIG;
>  	if (current_config_scope() == CONFIG_SCOPE_LOCAL ||
> -	current_config_scope() == CONFIG_SCOPE_WORKTREE)
> +	    current_config_scope() == CONFIG_SCOPE_WORKTREE)
>  		remote->configured_in_repo = 1;
>  	if (!strcmp(subkey, "mirror"))
>  		remote->mirror = git_config_bool(key, value);
> diff --git a/upload-pack.c b/upload-pack.c
> index 5dc8e1f844..a85d4ec502 100644
> --- a/upload-pack.c
> +++ b/upload-pack.c
> @@ -1302,7 +1302,7 @@ static int upload_pack_config(const char *var, const char *value, void *cb_data)
>  	}
>  
>  	if (current_config_scope() != CONFIG_SCOPE_LOCAL &&
> -	current_config_scope() != CONFIG_SCOPE_WORKTREE) {
> +	    current_config_scope() != CONFIG_SCOPE_WORKTREE) {
>  		if (!strcmp("uploadpack.packobjectshook", var))
>  			return git_config_string(&data->pack_objects_hook, var, value);
>  	}
Jeff King· Dec 3, 2020, 18:32 UTC · re: Junio C Hamano · lore

Re: [PATCH] style: indent multiline "if" conditions by 4 spaces

On Thu, Dec 03, 2020 at 10:22:35AM -0800, Junio C Hamano wrote:
Show 24 quoted lines
> Jeff King <peff@peff.net> writes:
> 
> > Commit 6dc905d974 (config: split repo scope to local and worktree,
> > 2020-02-10) made some "if" statements multiline, but didn't indent the
> > second lines in our usual way.
> >
> > Signed-off-by: Jeff King <peff@peff.net>
> > ---
> > I just happened to be reading nearby code and saw this.
> 
> Can we rephrase "by 4 spaces" to avoid misleading new developers,
> though?  It's not like our rule is to indent continued expression by
> 4 spaces---it happens to be 4 in this case only because the second
> line is aligned with the column inside "if (".
> 
> If the expression were
> 
> 	if ((A == X && B == Y &&
> 	     boolean_expression_on_the_second_line()) ||
> 	    C == Z)
> 
> we would have indented the second line to align with the inside of
> the opening parenthesis, which may end up with "by 5 spaces", but
> four vs five is not the important part of the equation.

Yeah, the goal is to align it, but I had trouble thinking of a succinct way to say that. Maybe just:

  style: align indent of multiline "if" conditions
?
-Peff
Junio C Hamano· Dec 3, 2020, 18:38 UTC · re: Jeff King · lore

Re: [PATCH] style: indent multiline "if" conditions by 4 spaces

Jeff King <peff@peff.net> writes:
> Yeah, the goal is to align it, but I had trouble thinking of a succinct
> way to say that. Maybe just:
>
>   style: align indent of multiline "if" conditions

I couldn't come up with a good description, and just did s/by 4 spaces/to align/, i.e.

    style: indent multiline "if" conditions to align
while queuing.  I dunno.
Jeff King· Dec 3, 2020, 18:51 UTC · re: Junio C Hamano · lore

Re: [PATCH] style: indent multiline "if" conditions by 4 spaces

On Thu, Dec 03, 2020 at 10:38:30AM -0800, Junio C Hamano wrote:
Show 13 quoted lines
> Jeff King <peff@peff.net> writes:
> 
> > Yeah, the goal is to align it, but I had trouble thinking of a succinct
> > way to say that. Maybe just:
> >
> >   style: align indent of multiline "if" conditions
> 
> I couldn't come up with a good description, and 
> just did s/by 4 spaces/to align/, i.e.
> 
>     style: indent multiline "if" conditions to align
> 
> while queuing.  I dunno.
That sounds perfectly reasonable to me.
-Peff

← back to recent threads