/*
* The commit page, which shows one commit on its own and is where the log and
* the ref listings link. It renders the idents, the object ids, the message
* and any note, then hands off to ui-diff.c for the diff against the first
* parent. Free text and addresses are written through the repository's commit
* and email filters, so a site can rewrite either on the way out.
*/
#define USE_THE_REPOSITORY_VARIABLE
#include "cgit.h"
#include "filter.h"
#include "html.h"
#include "parsing.h"
#include "shared.h"
#include "ui-commit.h"
#include "ui-diff.h"
#include "ui-log.h"
#include "ui-shared.h"
// The diff below the message is always taken against the first parent alone,
// which says little about a merge of many branches, so a commit with this
// many parents or more is shown without a diff at all.
#define OCTOPUS_PARENTS 3
static void print_ident_row(const char *role, const char *name, const char *email,
timestamp_t date, int tz)
{
htmlf("
\n");
// The parent rows follow the commit row so the commit hashes sit
// together, leaving the tree beside the download links.
parents = print_parent_rows(commit, hex, prefix);
html("