Add plain patch view

The new view mimics the output from `git format-patch`, making it possible
to cherry-pick directly from cgit with something like `curl $url | git am`.

Inspired by a patch to `git-apply` by Mike Hommey:
  http://thread.gmane.org/gmane.comp.version-control.git/67611/focus=67610

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
diff --git a/ui-shared.c b/ui-shared.c
index ece041c..60aa2e3 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -272,6 +272,12 @@
 	html("</a>");
 }
 
+void cgit_patch_link(char *name, char *title, char *class, char *head,
+		     char *rev)
+{
+	reporevlink("patch", name, title, class, head, rev, NULL);
+}
+
 void cgit_object_link(struct object *obj)
 {
 	char *page, *arg, *url;
@@ -490,6 +496,8 @@
 			      cgit_query_sha1);
 		cgit_diff_link("diff", NULL, "menu", cgit_query_head,
 			       cgit_query_sha1, cgit_query_sha2, NULL);
+		cgit_patch_link("patch", NULL, "menu", cgit_query_head,
+				cgit_query_sha1);
 
 		for_each_ref(print_archive_ref, &header);