about summary refs log tree commit diff
path: root/ui-diff.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui-diff.c')
-rw-r--r--ui-diff.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/ui-diff.c b/ui-diff.c
index 8b38209..838db8c 100644
--- a/ui-diff.c
+++ b/ui-diff.c
@@ -358,7 +358,7 @@ void cgit_print_diff_ctrls()
 }
 
 void cgit_print_diff(const char *new_rev, const char *old_rev,
-		     const char *prefix, int show_ctrls)
+		     const char *prefix, int show_ctrls, int raw)
 {
 	enum object_type type;
 	unsigned long size;
@@ -398,6 +398,14 @@ void cgit_print_diff(const char *new_rev, const char *old_rev,
 		}
 	}
 
+	if (raw) {
+		ctx.page.mimetype = "text/plain";
+		cgit_print_http_headers(&ctx);
+		cgit_diff_tree(old_rev_sha1, new_rev_sha1, filepair_cb_raw,
+			       prefix, 0);
+		return;
+	}
+
 	use_ssdiff = ctx.qry.has_ssdiff ? ctx.qry.ssdiff : ctx.cfg.ssdiff;
 
 	if (show_ctrls)