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>
This commit is contained in:
Ramkumar Ramachandra 2011-12-14 22:24:31 +05:30 коммит произвёл Junio C Hamano
Родитель 0db76962d1
Коммит 9e1313648d
1 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -700,16 +700,16 @@ static int format_todo(struct strbuf *buf, struct commit_list *todo_list,
struct replay_opts *opts) struct replay_opts *opts)
{ {
struct commit_list *cur = NULL; struct commit_list *cur = NULL;
struct commit_message msg = { NULL, NULL, NULL, NULL, NULL };
const char *sha1_abbrev = NULL; const char *sha1_abbrev = NULL;
const char *action_str = opts->action == REVERT ? "revert" : "pick"; const char *action_str = opts->action == REVERT ? "revert" : "pick";
const char *subject;
int subject_len;
for (cur = todo_list; cur; cur = cur->next) { for (cur = todo_list; cur; cur = cur->next) {
sha1_abbrev = find_unique_abbrev(cur->item->object.sha1, DEFAULT_ABBREV); sha1_abbrev = find_unique_abbrev(cur->item->object.sha1, DEFAULT_ABBREV);
if (get_message(cur->item, &msg)) subject_len = find_commit_subject(cur->item->buffer, &subject);
return error(_("Cannot get commit message for %s"), sha1_abbrev); strbuf_addf(buf, "%s %s %.*s\n", action_str, sha1_abbrev,
strbuf_addf(buf, "%s %s %s\n", action_str, sha1_abbrev, msg.subject); subject_len, subject);
free_message(&msg);
} }
return 0; return 0;
} }