2025年5月16日 00:20,Junio C Hamano <gitster@xxxxxxxxx> 写道: > > I am curious if Lidong's tool would notice an unreachable code if > only the first hunk of the attached patch is applied. The "else" > clause in the second hunk would become unreachable. > > > diff --git c/sequencer.c w/sequencer.c > index b5c4043757..269637d427 100644 > --- c/sequencer.c > +++ w/sequencer.c > @@ -2071,6 +2071,9 @@ static int update_squash_messages(struct repository *r, > const char *message, *body; > const char *encoding = get_commit_output_encoding(); > > + if (!(command == TODO_FIXUP || command == TODO_SQUASH)) > + BUG("update_squash_messages with command %d", command); > + > if (ctx->current_fixup_count > 0) { > struct strbuf header = STRBUF_INIT; > char *eol; > @@ -2138,8 +2141,6 @@ static int update_squash_messages(struct repository *r, > strbuf_addstr(&buf, "\n\n"); > strbuf_add_commented_lines(&buf, body, strlen(body), > comment_line_str); > - } else > - return error(_("unknown command: %d"), command); > repo_unuse_commit_buffer(r, commit, message); > > if (!res) In this case, we do not directly identify the else branch as unreachable code. However, we perform constraint solving on the conditions leading to a potential leak, which ultimately allows us to determine that the leaking path is actually unreachable.