From: Phillip Wood <phillip.wood123@gmail.com>
To: Elijah Newren <newren@gmail.com>,
Phillip Wood via GitGitGadget <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, Phillip Wood <phillip.wood@dunelm.org.uk>
Subject: Re: [PATCH 2/5] merge-tree: remove redundant code
Date: Tue, 18 Feb 2025 10:01:44 +0000 [thread overview]
Message-ID: <06582f75-c14c-482f-a9d8-b2c2e77ce2c8@gmail.com> (raw)
In-Reply-To: <CABPp-BGTSciJMRWBGe9qOFh5wGuLppB6L+v9J5-KVdbNc6H3Hw@mail.gmail.com>
Hi Elijah
On 17/02/2025 20:15, Elijah Newren wrote:
> On Sun, Feb 16, 2025 at 8:37 AM Phillip Wood via GitGitGadget
> <gitgitgadget@gmail.com> wrote:
>>
>> From: Phillip Wood <phillip.wood@dunelm.org.uk>
>>
>> real_merge() only ever returns "0" or "1" as it dies if the merge status
>> is less than zero. Therefore the check for "result < 0" is redundant and
>> the result variable is not needed.
>
> Indeed, the only return statement in real_merge(), occurring on the
> last line of the function, is even:
> return !result.clean; /* result.clean < 0 handled above */
>
> However, it might be worth adding to the commit message some comments
> about o->use_stdin here. When o->use_stdin is true, that the program
> exit status is 0 for both successful merges and conflicts but the
> conflict status for each individual commit is printed as part of the
> output. As such, the return status isn't used in those cases and
> real_merge() might as well be a void function. However, when
> o->use_stdin is false, the exit status from real_merge is used, which
> is why that callsite (not visibile in this patch since it is
> unmodified) still pays attention to real_merge()'s return status.
That's a good suggestion - I'll re-roll
Thanks
Phillip
>> Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
>> ---
>> builtin/merge-tree.c | 7 ++-----
>> 1 file changed, 2 insertions(+), 5 deletions(-)
>>
>> diff --git a/builtin/merge-tree.c b/builtin/merge-tree.c
>> index 57f4340faba..3c73482f2b0 100644
>> --- a/builtin/merge-tree.c
>> +++ b/builtin/merge-tree.c
>> @@ -601,7 +601,6 @@ int cmd_merge_tree(int argc,
>> line_termination = '\0';
>> while (strbuf_getline_lf(&buf, stdin) != EOF) {
>> struct strbuf **split;
>> - int result;
>> const char *input_merge_base = NULL;
>>
>> split = strbuf_split(&buf, ' ');
>> @@ -618,16 +617,14 @@ int cmd_merge_tree(int argc,
>> if (input_merge_base && split[2] && split[3] && !split[4]) {
>> strbuf_rtrim(split[2]);
>> strbuf_rtrim(split[3]);
>> - result = real_merge(&o, input_merge_base, split[2]->buf, split[3]->buf, prefix);
>> + real_merge(&o, input_merge_base, split[2]->buf, split[3]->buf, prefix);
>> } else if (!input_merge_base && !split[2]) {
>> - result = real_merge(&o, NULL, split[0]->buf, split[1]->buf, prefix);
>> + real_merge(&o, NULL, split[0]->buf, split[1]->buf, prefix);
>> } else {
>> die(_("malformed input line: '%s'."), buf.buf);
>> }
>> maybe_flush_or_die(stdout, "stdout");
>>
>> - if (result < 0)
>> - die(_("merging cannot continue; got unclean result of %d"), result);
>> strbuf_list_free(split);
>> }
>> strbuf_release(&buf);
>> --
>> gitgitgadget
>
> Looks good.
>
next prev parent reply other threads:[~2025-02-18 10:01 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-16 16:37 [PATCH 0/5] merge-tree --stdin: flush stdout Phillip Wood via GitGitGadget
2025-02-16 16:37 ` [PATCH 1/5] merge-tree --stdin: flush stdout to avoid deadlock Phillip Wood via GitGitGadget
2025-02-17 20:01 ` Elijah Newren
2025-02-16 16:37 ` [PATCH 2/5] merge-tree: remove redundant code Phillip Wood via GitGitGadget
2025-02-17 20:15 ` Elijah Newren
2025-02-18 10:01 ` Phillip Wood [this message]
2025-02-16 16:37 ` [PATCH 3/5] merge-tree: only use basic merge config Phillip Wood via GitGitGadget
2025-02-16 16:37 ` [PATCH 4/5] merge-tree: improve docs for --stdin Phillip Wood via GitGitGadget
2025-02-17 20:26 ` Elijah Newren
2025-02-18 10:02 ` Phillip Wood
2025-02-18 15:56 ` Elijah Newren
2025-02-16 16:37 ` [PATCH 5/5] merge-tree: fix link formatting in html docs Phillip Wood via GitGitGadget
2025-02-17 20:30 ` Elijah Newren
2025-02-18 16:24 ` [PATCH v2 0/5] merge-tree --stdin: flush stdout Phillip Wood via GitGitGadget
2025-02-18 16:24 ` [PATCH v2 1/5] merge-tree --stdin: flush stdout to avoid deadlock Phillip Wood via GitGitGadget
2025-02-19 6:23 ` Patrick Steinhardt
2025-02-19 14:55 ` Phillip Wood
2025-02-19 16:02 ` Junio C Hamano
2025-02-18 16:24 ` [PATCH v2 2/5] merge-tree: remove redundant code Phillip Wood via GitGitGadget
2025-02-18 16:24 ` [PATCH v2 3/5] merge-tree: only use basic merge config Phillip Wood via GitGitGadget
2025-02-18 16:24 ` [PATCH v2 4/5] merge-tree: improve docs for --stdin Phillip Wood via GitGitGadget
2025-02-18 16:24 ` [PATCH v2 5/5] merge-tree: fix link formatting in html docs Phillip Wood via GitGitGadget
2025-02-18 16:46 ` [PATCH v2 0/5] merge-tree --stdin: flush stdout Elijah Newren
2025-02-18 16:54 ` Phillip Wood
2025-02-18 19:35 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=06582f75-c14c-482f-a9d8-b2c2e77ce2c8@gmail.com \
--to=phillip.wood123@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=newren@gmail.com \
--cc=phillip.wood@dunelm.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).