diff options
| -rw-r--r-- | cmd.c | 2 | ||||
| -rw-r--r-- | ui-commit.c | 2 | ||||
| -rw-r--r-- | ui-diff.c | 10 | ||||
| -rw-r--r-- | ui-diff.h | 2 | 
4 files changed, 12 insertions, 4 deletions
| @@ -57,7 +57,7 @@ static void commit_fn(struct cgit_context *ctx)  static void diff_fn(struct cgit_context *ctx)  { -	cgit_print_diff(ctx->qry.sha1, ctx->qry.sha2, ctx->qry.path, 1); +	cgit_print_diff(ctx->qry.sha1, ctx->qry.sha2, ctx->qry.path, 1, 0);  }  static void info_fn(struct cgit_context *ctx) diff --git a/ui-commit.c b/ui-commit.c index a5a6ea8..ef85a49 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -137,7 +137,7 @@ void cgit_print_commit(char *hex, const char *prefix)  			tmp = sha1_to_hex(commit->parents->item->object.sha1);  		else  			tmp = NULL; -		cgit_print_diff(ctx.qry.sha1, tmp, prefix, 0); +		cgit_print_diff(ctx.qry.sha1, tmp, prefix, 0, 0);  	}  	strbuf_release(¬es);  	cgit_free_commitinfo(info); @@ -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) @@ -4,7 +4,7 @@  extern void cgit_print_diff_ctrls();  extern void cgit_print_diff(const char *new_hex, const char *old_hex, -			    const char *prefix, int show_ctrls); +			    const char *prefix, int show_ctrls, int raw);  extern struct diff_filespec *cgit_get_current_old_file(void);  extern struct diff_filespec *cgit_get_current_new_file(void); | 
