sequencer: refactor the code to obtain a short commit name

Not only does this DRY up the code (providing a better documentation what
the code is about, as well as allowing to change the behavior in a single
place), it also makes it substantially shorter to use the same
functionality in functions to be introduced when we teach the sequencer to
process interactive-rebase's git-rebase-todo file.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin
2016-03-04 16:21:16 +01:00
parent da9940d729
commit 9ff98fccce

View File

@@ -157,13 +157,18 @@ struct commit_message {
const char *message;
};
static const char *short_commit_name(struct commit *commit)
{
return find_unique_abbrev(commit->object.oid.hash, DEFAULT_ABBREV);
}
static int get_message(struct commit *commit, struct commit_message *out)
{
const char *abbrev, *subject;
int subject_len;
out->message = logmsg_reencode(commit, NULL, get_commit_output_encoding());
abbrev = find_unique_abbrev(commit->object.oid.hash, DEFAULT_ABBREV);
abbrev = short_commit_name(commit);
subject_len = find_commit_subject(out->message, &subject);
@@ -647,8 +652,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit,
error(command == TODO_REVERT
? _("could not revert %s... %s")
: _("could not apply %s... %s"),
find_unique_abbrev(commit->object.oid.hash, DEFAULT_ABBREV),
msg.subject);
short_commit_name(commit), msg.subject);
print_advice(res == 1, opts);
rerere(opts->allow_rerere_auto);
goto leave;
@@ -890,9 +894,7 @@ static int walk_revs_populate_todo(struct todo_list *todo_list,
subject_len = find_commit_subject(commit_buffer, &subject);
strbuf_addf(&todo_list->buf, "%s %s %.*s\n",
opts->action == REPLAY_PICK ? "pick" : "revert",
find_unique_abbrev(commit->object.oid.hash,
DEFAULT_ABBREV),
subject_len, subject);
short_commit_name(commit), subject_len, subject);
unuse_commit_buffer(commit, commit_buffer);
}
return 0;