-rw-r--r-- | cgit.c | 2 | ||||
-rw-r--r-- | cgit.h | 6 | ||||
-rw-r--r-- | shared.c | 11 | ||||
-rw-r--r-- | ui-diff.c | 16 | ||||
-rw-r--r-- | ui-log.c | 3 | ||||
-rw-r--r-- | ui-patch.c | 4 | ||||
-rw-r--r-- | ui-shared.c | 10 |
7 files changed, 40 insertions, 12 deletions
@@ -262,2 +262,4 @@ static void querystring_cb(const char *name, const char *value) | |||
262 | ctx.qry.context = atoi(value); | 262 | ctx.qry.context = atoi(value); |
263 | } else if (!strcmp(name, "ignorews")) { | ||
264 | ctx.qry.ignorews = atoi(value); | ||
263 | } | 265 | } |
@@ -150,2 +150,3 @@ struct cgit_query { | |||
150 | int context; | 150 | int context; |
151 | int ignorews; | ||
151 | char *vpath; | 152 | char *vpath; |
@@ -281,3 +282,4 @@ extern int cgit_diff_files(const unsigned char *old_sha1, | |||
281 | unsigned long *old_size, unsigned long *new_size, | 282 | unsigned long *old_size, unsigned long *new_size, |
282 | int *binary, int context, linediff_fn fn); | 283 | int *binary, int context, int ignorews, |
284 | linediff_fn fn); | ||
283 | 285 | ||
@@ -285,3 +287,3 @@ extern void cgit_diff_tree(const unsigned char *old_sha1, | |||
285 | const unsigned char *new_sha1, | 287 | const unsigned char *new_sha1, |
286 | filepair_fn fn, const char *prefix); | 288 | filepair_fn fn, const char *prefix, int ignorews); |
287 | 289 | ||
@@ -266,3 +266,3 @@ int cgit_diff_files(const unsigned char *old_sha1, | |||
266 | unsigned long *new_size, int *binary, int context, | 266 | unsigned long *new_size, int *binary, int context, |
267 | linediff_fn fn) | 267 | int ignorews, linediff_fn fn) |
268 | { | 268 | { |
@@ -293,2 +293,4 @@ int cgit_diff_files(const unsigned char *old_sha1, | |||
293 | diff_params.flags = XDF_NEED_MINIMAL; | 293 | diff_params.flags = XDF_NEED_MINIMAL; |
294 | if (ignorews) | ||
295 | diff_params.flags |= XDF_IGNORE_WHITESPACE; | ||
294 | emit_params.ctxlen = context > 0 ? context : 3; | 296 | emit_params.ctxlen = context > 0 ? context : 3; |
@@ -307,3 +309,3 @@ void cgit_diff_tree(const unsigned char *old_sha1, | |||
307 | const unsigned char *new_sha1, | 309 | const unsigned char *new_sha1, |
308 | filepair_fn fn, const char *prefix) | 310 | filepair_fn fn, const char *prefix, int ignorews) |
309 | { | 311 | { |
@@ -318,2 +320,4 @@ void cgit_diff_tree(const unsigned char *old_sha1, | |||
318 | DIFF_OPT_SET(&opt, RECURSIVE); | 320 | DIFF_OPT_SET(&opt, RECURSIVE); |
321 | if (ignorews) | ||
322 | DIFF_XDL_SET(&opt, IGNORE_WHITESPACE); | ||
319 | opt.format_callback = cgit_diff_tree_cb; | 323 | opt.format_callback = cgit_diff_tree_cb; |
@@ -342,3 +346,4 @@ void cgit_diff_commit(struct commit *commit, filepair_fn fn) | |||
342 | old_sha1 = commit->parents->item->object.sha1; | 346 | old_sha1 = commit->parents->item->object.sha1; |
343 | cgit_diff_tree(old_sha1, commit->object.sha1, fn, NULL); | 347 | cgit_diff_tree(old_sha1, commit->object.sha1, fn, NULL, |
348 | ctx.qry.ignorews); | ||
344 | } | 349 | } |
@@ -129,3 +129,3 @@ static void inspect_filepair(struct diff_filepair *pair) | |||
129 | cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, &new_size, | 129 | cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, &new_size, |
130 | &binary, 0, count_diff_lines); | 130 | &binary, 0, ctx.qry.ignorews, count_diff_lines); |
131 | if (files >= slots) { | 131 | if (files >= slots) { |
@@ -173,2 +173,7 @@ void cgit_print_diffstat(const unsigned char *old_sha1, | |||
173 | html(" context)"); | 173 | html(" context)"); |
174 | html(" ("); | ||
175 | ctx.qry.ignorews = (ctx.qry.ignorews + 1) % 2; | ||
176 | cgit_self_link(ctx.qry.ignorews ? "ignore" : "show", NULL, NULL, &ctx); | ||
177 | ctx.qry.ignorews = (ctx.qry.ignorews + 1) % 2; | ||
178 | html(" whitespace changes)"); | ||
174 | html("</div>"); | 179 | html("</div>"); |
@@ -176,3 +181,4 @@ void cgit_print_diffstat(const unsigned char *old_sha1, | |||
176 | max_changes = 0; | 181 | max_changes = 0; |
177 | cgit_diff_tree(old_sha1, new_sha1, inspect_filepair, prefix); | 182 | cgit_diff_tree(old_sha1, new_sha1, inspect_filepair, prefix, |
183 | ctx.qry.ignorews); | ||
178 | for(i = 0; i<files; i++) | 184 | for(i = 0; i<files; i++) |
@@ -298,3 +304,4 @@ static void filepair_cb(struct diff_filepair *pair) | |||
298 | if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, | 304 | if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, |
299 | &new_size, &binary, ctx.qry.context, print_line_fn)) | 305 | &new_size, &binary, ctx.qry.context, |
306 | ctx.qry.ignorews, print_line_fn)) | ||
300 | cgit_print_error("Error running diff"); | 307 | cgit_print_error("Error running diff"); |
@@ -358,3 +365,4 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefi | |||
358 | } | 365 | } |
359 | cgit_diff_tree(old_rev_sha1, new_rev_sha1, filepair_cb, prefix); | 366 | cgit_diff_tree(old_rev_sha1, new_rev_sha1, filepair_cb, prefix, |
367 | ctx.qry.ignorews); | ||
360 | if (!use_ssdiff) | 368 | if (!use_ssdiff) |
@@ -35,3 +35,4 @@ void inspect_files(struct diff_filepair *pair) | |||
35 | cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, | 35 | cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, |
36 | &new_size, &binary, 0, count_lines); | 36 | &new_size, &binary, 0, ctx.qry.ignorews, |
37 | count_lines); | ||
37 | } | 38 | } |
@@ -73,3 +73,3 @@ static void filepair_cb(struct diff_filepair *pair) | |||
73 | if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, | 73 | if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, |
74 | &new_size, &binary, 0, print_line)) | 74 | &new_size, &binary, 0, 0, print_line)) |
75 | html("Error running diff"); | 75 | html("Error running diff"); |
@@ -126,3 +126,3 @@ void cgit_print_patch(char *hex, const char *prefix) | |||
126 | htmlf("(limited to '%s')\n\n", prefix); | 126 | htmlf("(limited to '%s')\n\n", prefix); |
127 | cgit_diff_tree(old_sha1, sha1, filepair_cb, prefix); | 127 | cgit_diff_tree(old_sha1, sha1, filepair_cb, prefix, 0); |
128 | html("--\n"); | 128 | html("--\n"); |
diff --git a/ui-shared.c b/ui-shared.c index c398d7a..ae29615 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -351,2 +351,7 @@ void cgit_commit_link(char *name, const char *title, const char *class, | |||
351 | } | 351 | } |
352 | if (ctx.qry.ignorews) { | ||
353 | html(delim); | ||
354 | html("ignorews=1"); | ||
355 | delim = "&"; | ||
356 | } | ||
352 | html("'>"); | 357 | html("'>"); |
@@ -399,2 +404,7 @@ void cgit_diff_link(const char *name, const char *title, const char *class, | |||
399 | } | 404 | } |
405 | if (ctx.qry.ignorews) { | ||
406 | html(delim); | ||
407 | html("ignorews=1"); | ||
408 | delim = "&"; | ||
409 | } | ||
400 | html("'>"); | 410 | html("'>"); |