Showing 3 changed files with 19 additions and 51 deletions
+17 -48
lib/Gitprep/Git.pm
... ...
@@ -284,7 +284,7 @@ sub blob {
284 284
   my ($self, $rep_info, $rev, $file) = @_;
285 285
   
286 286
   # Blob
287
-  my $hash = $self->path_to_hash($rep_info->{user}, $rep_info->{project}, $rev, $file, 'blob')
287
+  my $hash = $self->path_to_hash($rep_info, $rev, $file, 'blob')
288 288
     or croak 'Cannot find file';
289 289
   my @cmd = $self->cmd(
290 290
     $rep_info,
... ...
@@ -414,7 +414,7 @@ sub blob_mime_type {
414 414
   my ($self, $rep_info, $rev, $file) = @_;
415 415
   
416 416
   # Blob
417
-  my $hash = $self->path_to_hash($rep_info->{user}, $rep_info->{project}, $rev, $file, 'blob')
417
+  my $hash = $self->path_to_hash($rep_info, $rev, $file, 'blob')
418 418
     or croak 'Cannot find file';
419 419
   my @cmd = $self->cmd(
420 420
     $rep_info,
... ...
@@ -605,7 +605,7 @@ sub description {
605 605
 }
606 606
 
607 607
 sub diff_tree {
608
-  my ($self, $user, $project, $rev, $parent, $opt) = @_;
608
+  my ($self, $rep_info, $rev, $parent, $opt) = @_;
609 609
   
610 610
   $opt ||= {};
611 611
   my $ignore_space_change = $opt->{ignore_space_change};
... ...
@@ -614,9 +614,8 @@ sub diff_tree {
614 614
   $parent = '--root' unless defined $parent;
615 615
 
616 616
   # Get diff tree
617
-  my @cmd = $self->cmd_rep(
618
-    $user,
619
-    $project,
617
+  my @cmd = $self->cmd(
618
+    $rep_info,
620 619
     "diff-tree",
621 620
     '-r',
622 621
     '--no-commit-id',
... ...
@@ -702,12 +701,11 @@ sub file_type_long {
702 701
 }
703 702
 
704 703
 sub forward_commits {
705
-  my ($self, $user, $project, $rev1, $rev2) = @_;
704
+  my ($self, $rep_info, $rev1, $rev2) = @_;
706 705
   
707 706
   # Forwarding commits
708
-  my @cmd = $self->cmd_rep(
709
-    $user,
710
-    $project,
707
+  my @cmd = $self->cmd(
708
+    $rep_info,
711 709
     'rev-list',
712 710
     '--left-right',
713 711
     "$rev1...$rev2"
... ...
@@ -718,7 +716,7 @@ sub forward_commits {
718 716
   while (my $line = <$fh>) {
719 717
     if ($line =~ /^>(.+)\s/) {
720 718
       my $rev = $1;
721
-      my $commit = $self->get_commit($user, $project, $rev);
719
+      my $commit = $self->get_commit_new($rep_info, $rev);
722 720
       push @$commits, $commit;
723 721
     }
724 722
   }
... ...
@@ -727,13 +725,12 @@ sub forward_commits {
727 725
 }
728 726
 
729 727
 sub path_to_hash {
730
-  my ($self, $user, $project, $rev, $path, $type) = @_;
728
+  my ($self, $rep_info, $rev, $path, $type) = @_;
731 729
   
732 730
   # Get blob id or tree id (command "git ls-tree")
733 731
   $path =~ s#/+$##;
734
-  my @cmd = $self->cmd_rep(
735
-    $user,
736
-    $project,
732
+  my @cmd = $self->cmd(
733
+    $rep_info,
737 734
     'ls-tree',
738 735
     $rev,
739 736
     '--',
... ...
@@ -753,12 +750,11 @@ sub path_to_hash {
753 750
 
754 751
 
755 752
 sub last_activity {
756
-  my ($self, $user, $project) = @_;
753
+  my ($self, $rep) = @_;
757 754
   
758 755
   # Command "git for-each-ref"
759
-  my @cmd = $self->cmd_rep(
760
-    $user,
761
-    $project,
756
+  my @cmd = $self->cmd(
757
+    $rep,
762 758
     'for-each-ref',
763 759
     '--format=%(committer)',
764 760
     '--sort=-committerdate',
... ...
@@ -780,33 +776,6 @@ sub last_activity {
780 776
   return;
781 777
 }
782 778
 
783
-sub path_by_id {
784
-  my ($self, $user, $project, $base, $hash) = @_;
785
-  
786
-  return unless $base;
787
-  return unless $hash;
788
-  
789
-  # Command "git ls-tree"
790
-  my @cmd = $self->cmd_rep($user, $project, 'ls-tree', '-r', '-t', '-z', $base);
791
-  open my $fh, '-|', @cmd or return;
792
-
793
-  # Get path
794
-  local $/ = "\0";
795
-  my @lines = <$fh>;
796
-  for my $line (@lines) {
797
-    $line = $self->_dec($line);
798
-    chomp $line;
799
-
800
-    if ($line =~ m/(?:[0-9]+) (?:.+) $hash\t(.+)$/) {
801
-      close $fh;
802
-      return $1;
803
-    }
804
-  }
805
-  close $fh;
806
-  
807
-  return;
808
-}
809
-
810 779
 sub parse_rev_path {
811 780
   my ($self, $user, $project, $rev_path) = @_;
812 781
   
... ...
@@ -907,7 +876,7 @@ sub repository {
907 876
   
908 877
 
909 878
   my $rep = {};
910
-  my @activity = $self->last_activity($user, $project);
879
+  my @activity = $self->last_activity($self->app->rep_info($user, $project));
911 880
   if (@activity) {
912 881
     $rep->{age} = $activity[0];
913 882
     $rep->{age_string} = $activity[1];
... ...
@@ -1629,7 +1598,7 @@ sub trees {
1629 1598
   # Get tree
1630 1599
   my $tid;
1631 1600
   if (defined $dir && $dir ne '') {
1632
-    $tid = $self->path_to_hash($user, $project, $rev, $dir, 'tree');
1601
+    $tid = $self->path_to_hash($self->app->rep_info($user, $project), $rev, $dir, 'tree');
1633 1602
   }
1634 1603
   else {
1635 1604
     my $commit = $self->get_commit($user, $project, $rev);
+1 -1
templates/compare.html.ep
... ...
@@ -18,7 +18,7 @@
18 18
   my $git = $self->app->git;
19 19
   
20 20
   # Commits
21
-  my $commits = $git->forward_commits($user, $project, $from_rev, $rev);
21
+  my $commits = $git->forward_commits(app->rep_info($user, $project), $from_rev, $rev);
22 22
   my $commits_count = @$commits;
23 23
   my $commits_date = {};
24 24
   my $authors = {};
+1 -2
templates/include/commit_body.html.ep
... ...
@@ -20,8 +20,7 @@
20 20
   
21 21
   # Diff tree
22 22
   my $diff_trees = $git->diff_tree(
23
-    $user,
24
-    $project,
23
+    app->rep_info($user, $project),
25 24
     $rev,
26 25
     $from_rev,
27 26
     {ignore_space_change => $ignore_space_change}