diff mbox series

style: indent multiline "if" conditions by 4 spaces

Message ID X8ibEpkel8OMS/hV@coredump.intra.peff.net (mailing list archive)
State Accepted
Commit e6d1026437fa06c4afd062416ee7f50e76239a91
Headers show
Series style: indent multiline "if" conditions by 4 spaces | expand

Commit Message

Jeff King Dec. 3, 2020, 8 a.m. UTC
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(-)

Comments

Junio C Hamano Dec. 3, 2020, 6:22 p.m. UTC | #1
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.

Thanks.  

> 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, 6:32 p.m. UTC | #2
On Thu, Dec 03, 2020 at 10:22:35AM -0800, Junio C Hamano wrote:

> 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, 6:38 p.m. UTC | #3
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, 6:51 p.m. UTC | #4
On Thu, Dec 03, 2020 at 10:38:30AM -0800, Junio C Hamano wrote:

> 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
diff mbox series

Patch

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);
 	}