Showing 4 changed files with 29 additions and 4 deletions
+3
CHANGES
... ...
@@ -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
+1 -1
lib/Gitprep.pm
... ...
@@ -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';
+12 -2
lib/Gitprep/Git.pm
... ...
@@ -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>;
+13 -1
templates/include/commit_body.html.ep
... ...
@@ -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;