"Lidong Yan via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > @@ -2067,6 +2067,9 @@ static int update_squash_messages(struct repository *r, > const char *message, *body; > const char *encoding = get_commit_output_encoding(); > > + if (!is_fixup(command)) > + BUG("unknown command: %d", command); This is not necessarily unknown. It may be a known one like TODO_PICK but the reason why we are rejecting it is because it is not either FIXUP or SQUASH, so we should say so. BUG() is a message to our developers, so a clear message that tells them that they are not supposed to pass anything but FIXUP/SQUASH is far better than saying "unknown". > if (ctx->current_fixup_count > 0) { > struct strbuf header = STRBUF_INIT; > char *eol; > @@ -2134,8 +2137,7 @@ 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)