]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-diff.c
Allow for creating raw diffs with cgit_print_diff()
[ps-cgit] / ui-diff.c
index 8b38209a82e12dff0f89e62484dd8a2b84e4d83a..838db8c29a42df4e6355a3cd62d404fd4e5efeec 100644 (file)
--- 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)