merge-ort: implement format_commit()

This implementation is based on a mixture of print_commit() and
output_commit_title() from merge-recursive.c so that it can be used to
take over both functions.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Elijah Newren 2021-01-01 02:34:46 +00:00 коммит произвёл Junio C Hamano
Родитель c73cda76b1
Коммит 70f19c7fce
1 изменённых файлов: 13 добавлений и 1 удалений

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

@ -328,7 +328,19 @@ static void format_commit(struct strbuf *sb,
int indent, int indent,
struct commit *commit) struct commit *commit)
{ {
die("Not yet implemented."); struct merge_remote_desc *desc;
struct pretty_print_context ctx = {0};
ctx.abbrev = DEFAULT_ABBREV;
strbuf_addchars(sb, ' ', indent);
desc = merge_remote_util(commit);
if (desc) {
strbuf_addf(sb, "virtual %s\n", desc->name);
return;
}
format_commit_message(commit, "%h %s", sb, &ctx);
strbuf_addch(sb, '\n');
} }
__attribute__((format (printf, 4, 5))) __attribute__((format (printf, 4, 5)))