Add support for snapshots

Make a link from the commit viewer to a snapshot of the corresponding tree.

Currently only zip-format is supported.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
diff --git a/ui-commit.c b/ui-commit.c
index 73fa104..de3f2cf 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -128,6 +128,7 @@
 	struct commit_list *p;
 	unsigned char sha1[20];
 	char *query;
+	char *filename;
 
 	if (get_sha1(hex, sha1)) {
 		cgit_print_error(fmt("Bad object id: %s", hex));
@@ -168,6 +169,12 @@
 		htmlf("'>%s</a></td></tr>\n", 
 		      sha1_to_hex(p->item->object.sha1));
 	}
+	htmlf("<tr><th>download</th><td colspan='2' class='sha1'><a href='");
+	filename = fmt("%s-%s.zip", cgit_query_repo, hex);
+	html_attr(cgit_pageurl(cgit_query_repo, "snapshot", 
+			       fmt("id=%s&name=%s", hex, filename)));
+	htmlf("'>%s</a></td></tr>", filename);
+	
 	html("</table>\n");
 	html("<div class='commit-subject'>");
 	html_txt(info->subject);