... | ... |
@@ -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); |
... | ... |
@@ -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 = {}; |
... | ... |
@@ -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} |