{"thread":{"id":"27238","subject":"[PATCH] Add default merge options for all branches","startedAt":"2011-05-02T16:19:42Z","lastAt":"2011-05-02T18:40:43Z","messageCount":5,"participants":["Michael Grubb","Thiago Farina","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"166887","messageId":"4DBED99E.3050709@dailyvoid.com","threadId":"27238","inReplyTo":null,"subject":"[PATCH] Add default merge options for all branches","fromName":"Michael Grubb","fromEmail":"devel@dailyvoid.com","sentAt":"2011-05-02T16:19:42Z","receivedAt":"2011-05-02T16:19:42Z","isPatch":true,"sender":{"key":"devel@dailyvoid.com","avatar":"https://gravatar.com/avatar/5ff035e599312653f041129e68041a9078c7e1f3268eaac3899c04e353d2133e?d=mp&s=160"},"body":"Introduce a new configuration variable, merge.mergeoptions.\nThe semantics of this new variable are the same as the branch specific\nbranch.<branch>.mergeoptions.  However, if a branch specific setting is\nfound, this option will not override it.\n\nThe need for this arises from the fact that there is currently not an\neasy way to set merge options for all branches. Instead of having to\nspecify merge options for each individual branch there should be a way\nto set defaults for all branches and then override a specific branch's\noptions.\n\nThe approach taken is to make note of whether a branch specific\nmergeoptions key has been seen and only apply the global value if it\nhasn't. An alternative method would be to keep the\nbranch.<branch>.mergeoptions semantics, but assign a special value for\n<branch> to be the global default.\n\nSigned-off-by: Michael Grubb <devel@dailyvoid.com>\n---\n Documentation/merge-config.txt |    7 +++++++\n builtin/merge.c                |   27 ++++++++++++++++++++++-----\n t/t7600-merge.sh               |   27 +++++++++++++++++++++++++++\n 3 files changed, 56 insertions(+), 5 deletions(-)\n\ndiff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\nindex 8920258..0fc7511 100644\n--- a/Documentation/merge-config.txt\n+++ b/Documentation/merge-config.txt\n@@ -57,6 +57,13 @@ merge.verbosity::\n \tabove outputs debugging information.  The default is level 2.\n \tCan be overridden by the 'GIT_MERGE_VERBOSITY' environment variable.\n +merge.mergeoptions::\n+\tSets default options for merging any branch. This value is only\n+\tused if there is not a branch.<name>.mergeoptions value set.\n+\tThe syntax and supported options are the same as those of 'git\n+\tmerge', but option values containing whitespace characters are\n+\tcurrently not supported.\n+\n merge.<driver>.name::\n \tDefines a human-readable name for a custom low-level\n \tmerge driver.  See linkgit:gitattributes[5] for details.\ndiff --git a/builtin/merge.c b/builtin/merge.c\nindex 0bdd19a..1d4f852 100644\n--- a/builtin/merge.c\n+++ b/builtin/merge.c\n@@ -505,9 +505,18 @@ cleanup:\n  static int git_merge_config(const char *k, const char *v, void *cb)\n {\n-\tif (branch && !prefixcmp(k, \"branch.\") &&\n-\t\t!prefixcmp(k + 7, branch) &&\n-\t\t!strcmp(k + 7 + strlen(branch), \".mergeoptions\")) {\n+\tstatic int branch_merge_options_set = 0;\n+\tint merge_option_mode = 0;\n+\n+\tif ( !strcmp(k, \"merge.mergeoptions\") )\n+\t\tmerge_option_mode = 1;\n+\telse if ( branch && !prefixcmp(k, \"branch.\") &&\n+\t\t\t !prefixcmp(k + 7, branch) &&\n+\t\t\t !strcmp(k + 7 + strlen(branch), \".mergeoptions\"))\n+\t\tmerge_option_mode = 2;\n+\n+\tif ( (merge_option_mode == 1 && !branch_merge_options_set) ||\n+\t\t  merge_option_mode == 2) {\n \t\tconst char **argv;\n \t\tint argc;\n \t\tchar *buf;\n@@ -515,14 +524,22 @@ static int git_merge_config(const char *k, const\nchar *v, void *cb)\n \t\tbuf = xstrdup(v);\n \t\targc = split_cmdline(buf, &argv);\n \t\tif (argc < 0)\n-\t\t\tdie(_(\"Bad branch.%s.mergeoptions string: %s\"), branch,\n-\t\t\t    split_cmdline_strerror(argc));\n+\t\t{\n+\t\t\tif ( merge_option_mode == 1 )\n+\t\t\t\tdie(_(\"Bad merge.mergeoptions string: %s\"), +\t\t\t\t\nsplit_cmdline_strerror(argc));\n+\t\t\telse\n+\t\t\t\tdie(_(\"Bad branch.%s.mergeoptions string: %s\"), branch,\n+\t\t\t\t\tsplit_cmdline_strerror(argc));\n+\t\t}\n \t\targv = xrealloc(argv, sizeof(*argv) * (argc + 2));\n \t\tmemmove(argv + 1, argv, sizeof(*argv) * (argc + 1));\n \t\targc++;\n \t\tparse_options(argc, argv, NULL, builtin_merge_options,\n \t\t\t      builtin_merge_usage, 0);\n \t\tfree(buf);\n+\t\tif ( merge_option_mode == 2 )\n+\t\t\tbranch_merge_options_set = 1;\n \t}\n  \tif (!strcmp(k, \"merge.diffstat\") || !strcmp(k, \"merge.stat\"))\ndiff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\nindex 87d5d78..15e9418 100755\n--- a/t/t7600-merge.sh\n+++ b/t/t7600-merge.sh\n@@ -415,6 +415,33 @@ test_expect_success 'merge c0 with c1 (no-ff)' '\n  test_debug 'git log --graph --decorate --oneline --all'\n +test_expect_success 'merge c0 with c1 (global no-ff)' '\n+\tgit reset --hard c0 &&\n+\tgit config --unset branch.master.mergeoptions &&\n+\tgit config merge.mergeoptions \"--no-ff\" &&\n+\ttest_tick &&\n+\tgit merge c1 &&\n+\tgit config --remove-section merge &&\n+\tverify_merge file result.1 &&\n+\tverify_parents $c0 $c1\n+'\n+\n+test_debug 'git log --graph --decorate --oneline --all'\n+\n+test_expect_success 'combine merge.mergeoptions with\nbranch.x.mergeoptions' '\n+\tgit reset --hard c0 &&\n+\tgit config --remove-section branch.master &&\n+\tgit config merge.mergeoptions \"--no-ff\" &&\n+\tgit config branch.master.mergeoptions \"--ff\" &&\n+\ttest_tick &&\n+\tgit merge c1 &&\n+\tgit config --remove-section merge &&\n+\tverify_merge file result.1 &&\n+\tverify_parents \"$c0\"\n+'\n+\n+test_debug 'git log --graph --decorate --oneline --all'\n+\n test_expect_success 'combining --squash and --no-ff is refused' '\n \ttest_must_fail git merge --squash --no-ff c1 &&\n \ttest_must_fail git merge --no-ff --squash c1\n-- \n1.7.5\n"},{"id":"166888","messageId":"BANLkTikgcwL6KRNAvxyAiHxLPzG7jeU6Vg@mail.gmail.com","threadId":"27238","inReplyTo":"4DBED99E.3050709@dailyvoid.com","subject":"Re: [PATCH] Add default merge options for all branches","fromName":"Thiago Farina","fromEmail":"tfransosi@gmail.com","sentAt":"2011-05-02T18:12:07Z","receivedAt":"2011-05-02T18:12:07Z","isPatch":true,"sender":{"key":"tfransosi@gmail.com","avatar":"https://avatars.githubusercontent.com/u/970071?v=4"},"body":"On Mon, May 2, 2011 at 1:19 PM, Michael Grubb <devel@dailyvoid.com> wrote:\n> Introduce a new configuration variable, merge.mergeoptions.\n> The semantics of this new variable are the same as the branch specific\n> branch.<branch>.mergeoptions.  However, if a branch specific setting is\n> found, this option will not override it.\n>\n> The need for this arises from the fact that there is currently not an\n> easy way to set merge options for all branches. Instead of having to\n> specify merge options for each individual branch there should be a way\n> to set defaults for all branches and then override a specific branch's\n> options.\n>\n> The approach taken is to make note of whether a branch specific\n> mergeoptions key has been seen and only apply the global value if it\n> hasn't. An alternative method would be to keep the\n> branch.<branch>.mergeoptions semantics, but assign a special value for\n> <branch> to be the global default.\n>\n> Signed-off-by: Michael Grubb <devel@dailyvoid.com>\n> ---\n>  Documentation/merge-config.txt |    7 +++++++\n>  builtin/merge.c                |   27 ++++++++++++++++++++++-----\n>  t/t7600-merge.sh               |   27 +++++++++++++++++++++++++++\n>  3 files changed, 56 insertions(+), 5 deletions(-)\n>\n> diff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\n> index 8920258..0fc7511 100644\n> --- a/Documentation/merge-config.txt\n> +++ b/Documentation/merge-config.txt\n> @@ -57,6 +57,13 @@ merge.verbosity::\n>        above outputs debugging information.  The default is level 2.\n>        Can be overridden by the 'GIT_MERGE_VERBOSITY' environment variable.\n>  +merge.mergeoptions::\n> +       Sets default options for merging any branch. This value is only\n> +       used if there is not a branch.<name>.mergeoptions value set.\n> +       The syntax and supported options are the same as those of 'git\n> +       merge', but option values containing whitespace characters are\n> +       currently not supported.\n> +\n>  merge.<driver>.name::\n>        Defines a human-readable name for a custom low-level\n>        merge driver.  See linkgit:gitattributes[5] for details.\n> diff --git a/builtin/merge.c b/builtin/merge.c\n> index 0bdd19a..1d4f852 100644\n> --- a/builtin/merge.c\n> +++ b/builtin/merge.c\n> @@ -505,9 +505,18 @@ cleanup:\n>  static int git_merge_config(const char *k, const char *v, void *cb)\n>  {\n> -       if (branch && !prefixcmp(k, \"branch.\") &&\n> -               !prefixcmp(k + 7, branch) &&\n> -               !strcmp(k + 7 + strlen(branch), \".mergeoptions\")) {\n> +       static int branch_merge_options_set = 0;\n> +       int merge_option_mode = 0;\n> +\n> +       if ( !strcmp(k, \"merge.mergeoptions\") )\n\nplease, no need of spaces between if ( ... )\n\nThere are more cases in this change below.\n\nI don't know if Junio is strong about this and if you need to resend.\nBut at least that is not consistent with the rest of the file.\n\nJust my 0.02 cents.\n\n> +               merge_option_mode = 1;\n> +       else if ( branch && !prefixcmp(k, \"branch.\") &&\n> +                        !prefixcmp(k + 7, branch) &&\n> +                        !strcmp(k + 7 + strlen(branch), \".mergeoptions\"))\n> +               merge_option_mode = 2;\n> +\n> +       if ( (merge_option_mode == 1 && !branch_merge_options_set) ||\n> +                 merge_option_mode == 2) {\n>                const char **argv;\n>                int argc;\n>                char *buf;\n> @@ -515,14 +524,22 @@ static int git_merge_config(const char *k, const\n> char *v, void *cb)\n>                buf = xstrdup(v);\n>                argc = split_cmdline(buf, &argv);\n>                if (argc < 0)\n> -                       die(_(\"Bad branch.%s.mergeoptions string: %s\"), branch,\n> -                           split_cmdline_strerror(argc));\n> +               {\n> +                       if ( merge_option_mode == 1 )\n> +                               die(_(\"Bad merge.mergeoptions string: %s\"), +\n> split_cmdline_strerror(argc));\n> +                       else\n> +                               die(_(\"Bad branch.%s.mergeoptions string: %s\"), branch,\n> +                                       split_cmdline_strerror(argc));\n> +               }\n>                argv = xrealloc(argv, sizeof(*argv) * (argc + 2));\n>                memmove(argv + 1, argv, sizeof(*argv) * (argc + 1));\n>                argc++;\n>                parse_options(argc, argv, NULL, builtin_merge_options,\n>                              builtin_merge_usage, 0);\n>                free(buf);\n> +               if ( merge_option_mode == 2 )\n> +                       branch_merge_options_set = 1;\n>        }\n>        if (!strcmp(k, \"merge.diffstat\") || !strcmp(k, \"merge.stat\"))\n> diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\n> index 87d5d78..15e9418 100755\n> --- a/t/t7600-merge.sh\n> +++ b/t/t7600-merge.sh\n> @@ -415,6 +415,33 @@ test_expect_success 'merge c0 with c1 (no-ff)' '\n>  test_debug 'git log --graph --decorate --oneline --all'\n>  +test_expect_success 'merge c0 with c1 (global no-ff)' '\n> +       git reset --hard c0 &&\n> +       git config --unset branch.master.mergeoptions &&\n> +       git config merge.mergeoptions \"--no-ff\" &&\n> +       test_tick &&\n> +       git merge c1 &&\n> +       git config --remove-section merge &&\n> +       verify_merge file result.1 &&\n> +       verify_parents $c0 $c1\n> +'\n> +\n> +test_debug 'git log --graph --decorate --oneline --all'\n> +\n> +test_expect_success 'combine merge.mergeoptions with\n> branch.x.mergeoptions' '\n> +       git reset --hard c0 &&\n> +       git config --remove-section branch.master &&\n> +       git config merge.mergeoptions \"--no-ff\" &&\n> +       git config branch.master.mergeoptions \"--ff\" &&\n> +       test_tick &&\n> +       git merge c1 &&\n> +       git config --remove-section merge &&\n> +       verify_merge file result.1 &&\n> +       verify_parents \"$c0\"\n> +'\n> +\n> +test_debug 'git log --graph --decorate --oneline --all'\n> +\n>  test_expect_success 'combining --squash and --no-ff is refused' '\n>        test_must_fail git merge --squash --no-ff c1 &&\n>        test_must_fail git merge --no-ff --squash c1\n> --\n> 1.7.5\n>\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>\n"},{"id":"166889","messageId":"4DBEF665.20309@dailyvoid.com","threadId":"27238","inReplyTo":"BANLkTikgcwL6KRNAvxyAiHxLPzG7jeU6Vg@mail.gmail.com","subject":"Re: [PATCH] Add default merge options for all branches","fromName":"Michael Grubb","fromEmail":"devel@dailyvoid.com","sentAt":"2011-05-02T18:22:29Z","receivedAt":"2011-05-02T18:22:29Z","isPatch":true,"sender":{"key":"devel@dailyvoid.com","avatar":"https://gravatar.com/avatar/5ff035e599312653f041129e68041a9078c7e1f3268eaac3899c04e353d2133e?d=mp&s=160"},"body":"Sorry for that, it's my own habit I'm afraid, however I did go back and\nfix it up so that it is consistent with the rest of the file.  Should I\nresubmit the patch in reply to this thread?\n\nOn 5/2/11 1:12 PM, Thiago Farina wrote:\n> On Mon, May 2, 2011 at 1:19 PM, Michael Grubb <devel@dailyvoid.com> wrote:\n>> Introduce a new configuration variable, merge.mergeoptions.\n>> The semantics of this new variable are the same as the branch specific\n>> branch.<branch>.mergeoptions.  However, if a branch specific setting is\n>> found, this option will not override it.\n>>\n>> The need for this arises from the fact that there is currently not an\n>> easy way to set merge options for all branches. Instead of having to\n>> specify merge options for each individual branch there should be a way\n>> to set defaults for all branches and then override a specific branch's\n>> options.\n>>\n>> The approach taken is to make note of whether a branch specific\n>> mergeoptions key has been seen and only apply the global value if it\n>> hasn't. An alternative method would be to keep the\n>> branch.<branch>.mergeoptions semantics, but assign a special value for\n>> <branch> to be the global default.\n>>\n>> Signed-off-by: Michael Grubb <devel@dailyvoid.com>\n>> ---\n>>  Documentation/merge-config.txt |    7 +++++++\n>>  builtin/merge.c                |   27 ++++++++++++++++++++++-----\n>>  t/t7600-merge.sh               |   27 +++++++++++++++++++++++++++\n>>  3 files changed, 56 insertions(+), 5 deletions(-)\n>>\n>> diff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt\n>> index 8920258..0fc7511 100644\n>> --- a/Documentation/merge-config.txt\n>> +++ b/Documentation/merge-config.txt\n>> @@ -57,6 +57,13 @@ merge.verbosity::\n>>        above outputs debugging information.  The default is level 2.\n>>        Can be overridden by the 'GIT_MERGE_VERBOSITY' environment variable.\n>>  +merge.mergeoptions::\n>> +       Sets default options for merging any branch. This value is only\n>> +       used if there is not a branch.<name>.mergeoptions value set.\n>> +       The syntax and supported options are the same as those of 'git\n>> +       merge', but option values containing whitespace characters are\n>> +       currently not supported.\n>> +\n>>  merge.<driver>.name::\n>>        Defines a human-readable name for a custom low-level\n>>        merge driver.  See linkgit:gitattributes[5] for details.\n>> diff --git a/builtin/merge.c b/builtin/merge.c\n>> index 0bdd19a..1d4f852 100644\n>> --- a/builtin/merge.c\n>> +++ b/builtin/merge.c\n>> @@ -505,9 +505,18 @@ cleanup:\n>>  static int git_merge_config(const char *k, const char *v, void *cb)\n>>  {\n>> -       if (branch && !prefixcmp(k, \"branch.\") &&\n>> -               !prefixcmp(k + 7, branch) &&\n>> -               !strcmp(k + 7 + strlen(branch), \".mergeoptions\")) {\n>> +       static int branch_merge_options_set = 0;\n>> +       int merge_option_mode = 0;\n>> +\n>> +       if ( !strcmp(k, \"merge.mergeoptions\") )\n> \n> please, no need of spaces between if ( ... )\n> \n> There are more cases in this change below.\n> \n> I don't know if Junio is strong about this and if you need to resend.\n> But at least that is not consistent with the rest of the file.\n> \n> Just my 0.02 cents.\n> \n>> +               merge_option_mode = 1;\n>> +       else if ( branch && !prefixcmp(k, \"branch.\") &&\n>> +                        !prefixcmp(k + 7, branch) &&\n>> +                        !strcmp(k + 7 + strlen(branch), \".mergeoptions\"))\n>> +               merge_option_mode = 2;\n>> +\n>> +       if ( (merge_option_mode == 1 && !branch_merge_options_set) ||\n>> +                 merge_option_mode == 2) {\n>>                const char **argv;\n>>                int argc;\n>>                char *buf;\n>> @@ -515,14 +524,22 @@ static int git_merge_config(const char *k, const\n>> char *v, void *cb)\n>>                buf = xstrdup(v);\n>>                argc = split_cmdline(buf, &argv);\n>>                if (argc < 0)\n>> -                       die(_(\"Bad branch.%s.mergeoptions string: %s\"), branch,\n>> -                           split_cmdline_strerror(argc));\n>> +               {\n>> +                       if ( merge_option_mode == 1 )\n>> +                               die(_(\"Bad merge.mergeoptions string: %s\"), +\n>> split_cmdline_strerror(argc));\n>> +                       else\n>> +                               die(_(\"Bad branch.%s.mergeoptions string: %s\"), branch,\n>> +                                       split_cmdline_strerror(argc));\n>> +               }\n>>                argv = xrealloc(argv, sizeof(*argv) * (argc + 2));\n>>                memmove(argv + 1, argv, sizeof(*argv) * (argc + 1));\n>>                argc++;\n>>                parse_options(argc, argv, NULL, builtin_merge_options,\n>>                              builtin_merge_usage, 0);\n>>                free(buf);\n>> +               if ( merge_option_mode == 2 )\n>> +                       branch_merge_options_set = 1;\n>>        }\n>>        if (!strcmp(k, \"merge.diffstat\") || !strcmp(k, \"merge.stat\"))\n>> diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh\n>> index 87d5d78..15e9418 100755\n>> --- a/t/t7600-merge.sh\n>> +++ b/t/t7600-merge.sh\n>> @@ -415,6 +415,33 @@ test_expect_success 'merge c0 with c1 (no-ff)' '\n>>  test_debug 'git log --graph --decorate --oneline --all'\n>>  +test_expect_success 'merge c0 with c1 (global no-ff)' '\n>> +       git reset --hard c0 &&\n>> +       git config --unset branch.master.mergeoptions &&\n>> +       git config merge.mergeoptions \"--no-ff\" &&\n>> +       test_tick &&\n>> +       git merge c1 &&\n>> +       git config --remove-section merge &&\n>> +       verify_merge file result.1 &&\n>> +       verify_parents $c0 $c1\n>> +'\n>> +\n>> +test_debug 'git log --graph --decorate --oneline --all'\n>> +\n>> +test_expect_success 'combine merge.mergeoptions with\n>> branch.x.mergeoptions' '\n>> +       git reset --hard c0 &&\n>> +       git config --remove-section branch.master &&\n>> +       git config merge.mergeoptions \"--no-ff\" &&\n>> +       git config branch.master.mergeoptions \"--ff\" &&\n>> +       test_tick &&\n>> +       git merge c1 &&\n>> +       git config --remove-section merge &&\n>> +       verify_merge file result.1 &&\n>> +       verify_parents \"$c0\"\n>> +'\n>> +\n>> +test_debug 'git log --graph --decorate --oneline --all'\n>> +\n>>  test_expect_success 'combining --squash and --no-ff is refused' '\n>>        test_must_fail git merge --squash --no-ff c1 &&\n>>        test_must_fail git merge --no-ff --squash c1\n>> --\n>> 1.7.5\n>>\n>> --\n>> To unsubscribe from this list: send the line \"unsubscribe git\" in\n>> the body of a message to majordomo@vger.kernel.org\n>> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>>\n> --\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n> \n"},{"id":"166890","messageId":"7vhb9dm06s.fsf@alter.siamese.dyndns.org","threadId":"27238","inReplyTo":"4DBED99E.3050709@dailyvoid.com","subject":"Re: [PATCH] Add default merge options for all branches","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-05-02T18:23:07Z","receivedAt":"2011-05-02T18:23:07Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Michael Grubb <devel@dailyvoid.com> writes:\n\n> The approach taken is to make note of whether a branch specific\n> mergeoptions key has been seen and only apply the global value if it\n> hasn't. An alternative method would be to keep the\n> branch.<branch>.mergeoptions semantics, but assign a special value for\n> <branch> to be the global default.\n\nBoth my gut feeling and design taste tell me that \"branch.*.mergeoptions\"\n(using literal '*' for match-all for now) would be a lot more appropriate\nhere.  We could extend the '*' part later to take globs.\n\nThe resulting part of the configuration file would look like this:\n\n\t[branch \"*\"]\n        \tmergeoptions = ...\n\nand later we would end up supporting other kinds of defaults, like:\n\n\t[branch \"ko/*\"]\n        \tremote = korg\n\t[branch \"github/*\"]\n        \tremote = github\n                mergeoptions = ...\n\nI didn't read the patch carefully but there seems to be many instances of\nthe same \"excess whitespace\" pattern you should be able to avoid easily to\nmatch the style by looking at the surrounding code.\n\nThanks.\n"},{"id":"166891","messageId":"7v7ha9lzdg.fsf@alter.siamese.dyndns.org","threadId":"27238","inReplyTo":"BANLkTikgcwL6KRNAvxyAiHxLPzG7jeU6Vg@mail.gmail.com","subject":"Re: [PATCH] Add default merge options for all branches","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-05-02T18:40:43Z","receivedAt":"2011-05-02T18:40:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Thiago Farina <tfransosi@gmail.com> writes:\n\n> please, no need of spaces between if ( ... )\n>\n> There are more cases in this change below.\n>\n> I don't know if Junio is strong about this and if you need to resend.\n\nAbsolutely.\n\nI made it a policy to refuse cleaning up patches from people who are\ncapable to do so themselves, and make exceptions only to small trivial\npatches from new contributors.\n\nOtherwise the process would not scale.\n\nThanks.\n"}]}