revert: simplify getting commit subject in format_todo()

format_todo() calls get_message(), but uses only the subject line of the commit message. As a minor optimization, save work and unnecessary memory allocations by using find_commit_subject() instead. Also, remove the unnecessary check on cur->item->buffer: the lookup_commit_reference() call in parse_insn_line() has already made sure of this. Suggested-by: Jonathan Nieder <jrnieder@gmail.com> Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ramkumar Ramachandra committed Dec 14, 2011 at 22:24 UTC 9e1313648d4c0ee1bab0ee3d7ed22553bd5bf87c
1 file changed +5 -5
builtin/revert.c
+5 -5
@@ -700,16 +700,16 @@ static int format_todo(struct strbuf *buf, struct commit_list *todo_list,
700 struct replay_opts *opts)
701 {
702 struct commit_list *cur = NULL;
703 - struct commit_message msg = { NULL, NULL, NULL, NULL, NULL };
703 const char *sha1_abbrev = NULL;
704 const char *action_str = opts->action == REVERT ? "revert" : "pick";
705 + const char *subject;
706 + int subject_len;
707
708 for (cur = todo_list; cur; cur = cur->next) {
709 sha1_abbrev = find_unique_abbrev(cur->item->object.sha1, DEFAULT_ABBREV);
709 - if (get_message(cur->item, &msg))
710 - return error(_("Cannot get commit message for %s"), sha1_abbrev);
711 - strbuf_addf(buf, "%s %s %s\n", action_str, sha1_abbrev, msg.subject);
712 - free_message(&msg);
710 + subject_len = find_commit_subject(cur->item->buffer, &subject);
711 + strbuf_addf(buf, "%s %s %.*s\n", action_str, sha1_abbrev,
712 + subject_len, subject);
713 }
714 return 0;
715 }