Re: [PATCHv6 3/6] commit: --fixup option for use with rebase --autosquash
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:49:55
"Pat Notz" [off-list ref] writes:
quoted hunk ↗ jump to hunk
diff --git a/builtin/commit.c b/builtin/commit.c index 5fa24f5..c82108c 100644 --- a/builtin/commit.c +++ b/builtin/commit.c@@ -586,6 +588,15 @@ static int prepare_to_commit(const char *index_file, const char *prefix, strbuf_add(&sb, buffer + 2, strlen(buffer + 2)); hook_arg1 = "commit"; hook_arg2 = use_message; + } else if (fixup_message) { + struct pretty_print_context ctx = {0}; + struct commit *commit; + const char *out_enc; + commit = lookup_commit_reference_by_name(fixup_message); + out_enc = get_commit_output_encoding(); + format_commit_message(commit, "fixup! %s\n\n", + &sb, &ctx, out_enc);
As your lookup_commit_reference_by_name() expects the caller to check for
errors, you should do something similar to what you do in your
"use_message" codepath in your [PATCH 1/6].
if (use_message) {
const char *out_enc;
struct commit *commit;
commit = lookup_commit_reference_by_name(use_message);
if (!commit)
die("could not lookup commit %s", use_message);
out_enc = get_commit_output_encoding();
use_message_buffer = logmsg_reencode(commit, out_enc);