[PATCH v2 08/10] merge-ort: implement format_commit()
- From
Elijah Newren via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Jan 1, 2021, 02:34 UTC
- Message-ID
- <b0bfada5d8151429513821b4bd692ba28b3f9689.1609468488.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.815.v2.git.1609468488.gitgitgadget@gmail.com>
From: Elijah Newren <newren@gmail.com>
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> --- merge-ort.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/merge-ort.c b/merge-ort.c index 2dfab1858fc..bf704bcd34d 100644 --- a/merge-ort.c +++ b/merge-ort.c @@ -328,7 +328,19 @@ static void format_commit(struct strbuf *sb, int indent, 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)))
-- gitgitgadget