From f9ff7df613b4ee86fe5914c4ae3400650882c03d Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Wed, 16 May 2007 00:58:35 +0200 Subject: Add support for commitdiff via h parameter The commitdiff will be generated against the first parent, and the diff page also gets the benefit of repo.defbranch. Cleaned up some bad whitespace in cgit.h while at it. Signed-off-by: Lars Hjemli --- ui-diff.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'ui-diff.c') diff --git a/ui-diff.c b/ui-diff.c index 999b6f3..afe1c90 100644 --- a/ui-diff.c +++ b/ui-diff.c @@ -66,11 +66,23 @@ static void filepair_cb(struct diff_filepair *pair) html(""); } -void cgit_print_diff(const char *old_hex, const char *new_hex, char *path) +void cgit_print_diff(const char *head, const char *old_hex, const char *new_hex, char *path) { unsigned char sha1[20], sha2[20]; enum object_type type; unsigned long size; + struct commit *commit; + + if (head && !old_hex && !new_hex) { + get_sha1(head, sha1); + commit = lookup_commit_reference(sha1); + if (commit && !parse_commit(commit)) { + html(""); + cgit_diff_commit(commit, filepair_cb); + html("
"); + } + return; + } get_sha1(old_hex, sha1); get_sha1(new_hex, sha2); -- cgit v1.2.1