add --ignore-space-change feature in diff page by using...
...w= query string
... | ... |
@@ -1,3 +1,6 @@ |
1 |
+1.10 |
|
2 |
+ - add --ignore-space-change feature in diff page by using w= query string |
|
3 |
+ for example, http://some.com/kimoto/gitprep_t/commit/3cf14ade5e28ee0cd83b9a3b1e1c332aed66df53?w= |
|
1 | 4 |
1.9.2 |
2 | 5 |
- fix atom feed entry url bug |
3 | 6 |
1.9.1 |
... | ... |
@@ -17,7 +17,7 @@ use Mojolicious::Plugin::AutoRoute::Util 'template'; |
17 | 17 |
eval {require Digest::SHA; import Digest::SHA qw(sha1 sha1_hex)}; |
18 | 18 |
} |
19 | 19 |
|
20 |
-our $VERSION = 'v1.9.2'; |
|
20 |
+our $VERSION = 'v1.10_dev'; |
|
21 | 21 |
|
22 | 22 |
has 'dbi'; |
23 | 23 |
has 'git'; |
... | ... |
@@ -269,7 +269,10 @@ sub blob { |
269 | 269 |
} |
270 | 270 |
|
271 | 271 |
sub blob_diffs { |
272 |
- my ($self, $user, $project, $rev1, $rev2, $diff_trees) = @_; |
|
272 |
+ my ($self, $user, $project, $rev1, $rev2, $diff_trees, $opt) = @_; |
|
273 |
+ |
|
274 |
+ $opt ||= {}; |
|
275 |
+ my $ignore_space_change = $opt->{ignore_space_change}; |
|
273 | 276 |
|
274 | 277 |
return unless defined $rev1 && defined $rev2; |
275 | 278 |
|
... | ... |
@@ -282,10 +285,12 @@ sub blob_diffs { |
282 | 285 |
'-M', |
283 | 286 |
'--no-commit-id', |
284 | 287 |
'--patch-with-raw', |
288 |
+ ($ignore_space_change ? '--ignore-space-change' : ()), |
|
285 | 289 |
$rev1, |
286 | 290 |
$rev2, |
287 | 291 |
'--' |
288 | 292 |
); |
293 |
+ |
|
289 | 294 |
open my $fh, '-|', @cmd |
290 | 295 |
or croak('Open self-diff-tree failed'); |
291 | 296 |
my @diff_tree; |
... | ... |
@@ -556,7 +561,10 @@ sub description { |
556 | 561 |
} |
557 | 562 |
|
558 | 563 |
sub diff_tree { |
559 |
- my ($self, $user, $project, $rev, $parent) = @_; |
|
564 |
+ my ($self, $user, $project, $rev, $parent, $opt) = @_; |
|
565 |
+ |
|
566 |
+ $opt ||= {}; |
|
567 |
+ my $ignore_space_change = $opt->{ignore_space_change}; |
|
560 | 568 |
|
561 | 569 |
# Root |
562 | 570 |
$parent = '--root' unless defined $parent; |
... | ... |
@@ -569,10 +577,12 @@ sub diff_tree { |
569 | 577 |
'-r', |
570 | 578 |
'--no-commit-id', |
571 | 579 |
'-M', |
580 |
+ ($ignore_space_change ? '--ignore-space-change' : ()), |
|
572 | 581 |
$parent, |
573 | 582 |
$rev, |
574 | 583 |
'--' |
575 | 584 |
); |
585 |
+ |
|
576 | 586 |
open my $fh, "-|", @cmd |
577 | 587 |
or croak 500, "Open git-diff-tree failed"; |
578 | 588 |
my @diff_tree = map { chomp; $self->_dec($_) } <$fh>; |
... | ... |
@@ -2,6 +2,9 @@ |
2 | 2 |
# Parameters |
3 | 3 |
my $rev = stash('rev'); |
4 | 4 |
my $from_rev = stash('from_rev'); |
5 |
+ |
|
6 |
+ my $param_ignore_space_change = param('w'); |
|
7 |
+ my $ignore_space_change = defined $param_ignore_space_change; |
|
5 | 8 |
|
6 | 9 |
# Git |
7 | 10 |
my $git = app->git; |
... | ... |
@@ -12,6 +15,7 @@ |
12 | 15 |
$project, |
13 | 16 |
$rev, |
14 | 17 |
$from_rev, |
18 |
+ {ignore_space_change => $ignore_space_change} |
|
15 | 19 |
); |
16 | 20 |
|
17 | 21 |
my $diff_trees_h = {}; |
... | ... |
@@ -22,7 +26,15 @@ |
22 | 26 |
} |
23 | 27 |
|
24 | 28 |
# Get blob diffs |
25 |
- my $blob_diffs = $git->blob_diffs($user, $project, $from_rev, $rev, $diff_trees) || []; |
|
29 |
+ my $blob_diffs = $git->blob_diffs( |
|
30 |
+ $user, |
|
31 |
+ $project, |
|
32 |
+ $from_rev, |
|
33 |
+ $rev, |
|
34 |
+ $diff_trees, |
|
35 |
+ {ignore_space_change => $ignore_space_change} |
|
36 |
+ ) || []; |
|
37 |
+ |
|
26 | 38 |
my $blob_diffs_h = {}; |
27 | 39 |
my $total_add_line_count = 0; |
28 | 40 |
my $total_delete_line_count = 0; |