about summary refs log tree commit diff
path: root/ui-commit.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-02-08 13:53:13 +0100
committerLars Hjemli <hjemli@gmail.com>2007-02-08 13:58:58 +0100
commitab2ab95f09994560f62fd631f07d3b6e3577aa6e (patch)
tree846763c1bcb78bd27dc37c99e5f6d703ca5ab179 /ui-commit.c
parentcgit v0.2 (diff)
downloadcgit-pink-ab2ab95f09994560f62fd631f07d3b6e3577aa6e.tar.gz
cgit-pink-ab2ab95f09994560f62fd631f07d3b6e3577aa6e.zip
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>
Diffstat (limited to '')
-rw-r--r--ui-commit.c7
1 files changed, 7 insertions, 0 deletions
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 @@ void cgit_print_commit(const char *hex)
 	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 @@ void cgit_print_commit(const char *hex)
 		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);