about summary refs log tree commit diff
path: root/ui-shared.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-12-10 21:47:29 +0100
committerLars Hjemli <hjemli@gmail.com>2007-12-11 02:43:24 +0100
commit620bb3e5e4ff87da740fe7232ba74330b5f862d4 (patch)
tree152cc090cfc56c387393f6aa6666b9d87ad4a23a /ui-shared.c
parentAdd support for automatic and custom clone urls (diff)
downloadcgit-pink-620bb3e5e4ff87da740fe7232ba74330b5f862d4.tar.gz
cgit-pink-620bb3e5e4ff87da740fe7232ba74330b5f862d4.zip
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>
Diffstat (limited to '')
-rw-r--r--ui-shared.c8
1 files changed, 8 insertions, 0 deletions
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 @@ void cgit_diff_link(char *name, char *title, char *class, char *head,
 	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 @@ void cgit_print_pageheader(char *title, int show_search)
 			      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);