Showing 2 changed files with 40 additions and 37 deletions
+35 -31
lib/Gitprep/Git.pm
... ...
@@ -333,33 +333,36 @@ sub blob {
333 333
 }
334 334
 
335 335
 sub blob_diffs {
336
-  my ($self, $user, $project, $rev1, $rev2, $diff_trees, $opt) = @_;
337
-
338
-  $opt ||= {};
339
-  my $ignore_space_change = $opt->{ignore_space_change};
336
+  my ($self, %opt) = @_;
337
+  
338
+  my $rev1 = $opt{from};
339
+  my $rev2 = $opt{to};
340
+  my $diff_trees = $opt{diff_trees};
341
+  my $ignore_space_change = $opt{ignore_space_change};
340 342
   
341 343
   return unless defined $rev1 && defined $rev2;
342 344
   
343 345
   # Diff tree
344
-  my @cmd = $self->cmd_rep(
345
-    $user,
346
-    $project,
347
-    'diff-tree',
348
-    '-r',
349
-    '-M',
350
-    '--no-commit-id',
351
-    '--patch-with-raw',
352
-    ($ignore_space_change ? '--ignore-space-change' : ()),
353
-    $rev1,
354
-    $rev2,
355
-    '--'
346
+  my @cmd = $self->cmd(
347
+    %opt,
348
+    command => [
349
+      'diff-tree',
350
+      '-r',
351
+      '-M',
352
+      '--no-commit-id',
353
+      '--patch-with-raw',
354
+      ($ignore_space_change ? '--ignore-space-change' : ()),
355
+      $rev1,
356
+      $rev2,
357
+      '--'
358
+    ]
356 359
   );
357 360
   
358 361
   open my $fh, '-|', @cmd
359 362
     or croak('Open self-diff-tree failed');
360 363
   my @diff_tree;
361 364
   my @diff_tree_lines = <$fh>;
362
-  my $diff_tree_enc = $self->decide_encoding($user, $project, \@diff_tree_lines);
365
+  my $diff_tree_enc = $self->decide_encoding($opt{user}, $opt{project}, \@diff_tree_lines);
363 366
   for my $line (@diff_tree_lines) {
364 367
     $line = decode($diff_tree_enc, $line);
365 368
     chomp $line;
... ...
@@ -379,24 +382,25 @@ sub blob_diffs {
379 382
     my $file = $diffinfo->{to_file};
380 383
     
381 384
     # Blob diff
382
-    my @cmd = $self->cmd_rep(
383
-      $user,
384
-      $project,
385
-      'diff-tree',
386
-      '-r',
387
-      '-M',
388
-      '-p',
389
-      ($ignore_space_change ? '--ignore-space-change' : ()),
390
-      $rev1,
391
-      $rev2,
392
-      '--',
393
-      (defined $from_file ? $from_file : ()),
394
-      $file
385
+    my @cmd = $self->cmd(
386
+      %opt,
387
+      command => [
388
+        'diff-tree',
389
+        '-r',
390
+        '-M',
391
+        '-p',
392
+        ($ignore_space_change ? '--ignore-space-change' : ()),
393
+        $rev1,
394
+        $rev2,
395
+        '--',
396
+        (defined $from_file ? $from_file : ()),
397
+        $file
398
+      ]
395 399
     );
396 400
     open my $fh, '-|', @cmd
397 401
       or croak('Open self-diff-tree failed');
398 402
     my @lines = <$fh>;
399
-    my $enc = $self->decide_encoding($user, $project, \@lines);
403
+    my $enc = $self->decide_encoding($opt{user}, $opt{project}, \@lines);
400 404
     @lines = map { decode($enc, $_) } @lines;
401 405
     close $fh;
402 406
     my ($lines, $diff_info) = $self->parse_blob_diff_lines(\@lines);
+5 -6
templates/include/commit_body.html.ep
... ...
@@ -36,12 +36,11 @@
36 36
   
37 37
   # Get blob diffs
38 38
   my $blob_diffs = $git->blob_diffs(
39
-    $user,
40
-    $project,
41
-    $from_rev,
42
-    $rev,
43
-    $diff_trees,
44
-    {ignore_space_change => $ignore_space_change}
39
+    %{app->rep_info($user, $project)},
40
+    from => $from_rev,
41
+    to => $rev,
42
+    diff_trees => $diff_trees,
43
+    ignore_space_change => $ignore_space_change
45 44
   ) || [];
46 45
   
47 46
   my $blob_diffs_h = {};