... | ... |
@@ -777,11 +777,11 @@ sub last_activity { |
777 | 777 |
} |
778 | 778 |
|
779 | 779 |
sub parse_rev_path { |
780 |
- my ($self, $rep,, $rev_path) = @_; |
|
780 |
+ my ($self, $rep_info, $rev_path) = @_; |
|
781 | 781 |
|
782 | 782 |
# References |
783 | 783 |
my @cmd = $self->cmd( |
784 |
- $rep, |
|
784 |
+ $rep_info, |
|
785 | 785 |
'show-ref', |
786 | 786 |
'--dereference' |
787 | 787 |
); |
... | ... |
@@ -826,12 +826,11 @@ sub parse_rev_path { |
826 | 826 |
} |
827 | 827 |
|
828 | 828 |
sub object_type { |
829 |
- my ($self, $user, $project, $rev) = @_; |
|
829 |
+ my ($self, $rep_info, $rev) = @_; |
|
830 | 830 |
|
831 | 831 |
# Get object type |
832 |
- my @cmd = $self->cmd_rep( |
|
833 |
- $user, |
|
834 |
- $project, |
|
832 |
+ my @cmd = $self->cmd( |
|
833 |
+ $rep_info, |
|
835 | 834 |
'cat-file', |
836 | 835 |
'-t', |
837 | 836 |
$rev |
... | ... |
@@ -845,58 +844,33 @@ sub object_type { |
845 | 844 |
return $type; |
846 | 845 |
} |
847 | 846 |
|
848 |
-sub project_owner { |
|
849 |
- my ($self, $project) = @_; |
|
850 |
- |
|
851 |
- # Project owner |
|
852 |
- my $user_id = (stat $project)[4]; |
|
853 |
- my $user = getpwuid $user_id; |
|
854 |
- |
|
855 |
- return $user; |
|
856 |
-} |
|
857 |
- |
|
858 |
-sub project_urls { |
|
859 |
- my ($self, $project) = @_; |
|
860 |
- |
|
861 |
- # Project URLs |
|
862 |
- open my $fh, '<', "$project/cloneurl" |
|
863 |
- or return; |
|
864 |
- my @urls = <$fh>; |
|
865 |
- @urls = map { chomp; $self->_dec($_) } @urls; |
|
866 |
- close $fh; |
|
867 |
- |
|
868 |
- return \@urls; |
|
869 |
-} |
|
870 |
- |
|
871 | 847 |
sub repository { |
872 |
- my ($self, $user, $project) = @_; |
|
848 |
+ my ($self, $rep_info) = @_; |
|
873 | 849 |
|
874 |
- return unless -d $self->app->rep_path($user, $project); |
|
850 |
+ return unless -d $self->app->rep_path($rep_info->{user}, $rep_info->{project}); |
|
875 | 851 |
|
876 |
- |
|
877 | 852 |
my $rep = {}; |
878 |
- my @activity = $self->last_activity($self->app->rep_info($user, $project)); |
|
853 |
+ my @activity = $self->last_activity($rep_info); |
|
879 | 854 |
if (@activity) { |
880 | 855 |
$rep->{age} = $activity[0]; |
881 | 856 |
$rep->{age_string} = $activity[1]; |
882 | 857 |
} |
883 | 858 |
else { $rep->{age} = 0 } |
884 | 859 |
|
885 |
- my $description = $self->description($self->app->rep_info($user, $project)) || ''; |
|
860 |
+ my $description = $self->description($rep_info) || ''; |
|
886 | 861 |
$rep->{description} = $self->_chop_str($description, 25, 5); |
887 | 862 |
|
888 | 863 |
return $rep; |
889 | 864 |
} |
890 | 865 |
|
891 | 866 |
sub references { |
892 |
- my ($self, $user, $project, $type) = @_; |
|
867 |
+ my ($self, $rep_info, $type) = @_; |
|
893 | 868 |
|
894 | 869 |
$type ||= ''; |
895 | 870 |
|
896 | 871 |
# Branches or tags |
897 |
- my @cmd = $self->cmd_rep( |
|
898 |
- $user, |
|
899 |
- $project, |
|
872 |
+ my @cmd = $self->cmd( |
|
873 |
+ $rep_info, |
|
900 | 874 |
'show-ref', |
901 | 875 |
'--dereference', |
902 | 876 |
( |
... | ... |
@@ -970,16 +944,15 @@ sub tags_count { |
970 | 944 |
} |
971 | 945 |
|
972 | 946 |
sub tags { |
973 |
- my ($self, $user, $project, $limit, $count, $offset) = @_; |
|
947 |
+ my ($self, $rep_info, $limit, $count, $offset) = @_; |
|
974 | 948 |
|
975 | 949 |
$limit ||= 1000; |
976 | 950 |
$count ||= 50; |
977 | 951 |
$offset ||= 0; |
978 | 952 |
|
979 | 953 |
# Get tags |
980 |
- my @cmd = $self->cmd_rep( |
|
981 |
- $user, |
|
982 |
- $project, |
|
954 |
+ my @cmd = $self->cmd( |
|
955 |
+ $rep_info, |
|
983 | 956 |
'for-each-ref', |
984 | 957 |
($limit ? '--count='.($limit+1) : ()), |
985 | 958 |
'--sort=-creatordate', |
... | ... |
@@ -1033,7 +1006,7 @@ sub tags { |
1033 | 1006 |
$tag{comment_short} = $self->_chop_str($tag{subject}, 30, 5) |
1034 | 1007 |
if $tag{subject}; |
1035 | 1008 |
|
1036 |
- $tag{commit} = $self->get_commit($user, $project, $name); |
|
1009 |
+ $tag{commit} = $self->get_commit_new($rep_info, $name); |
|
1037 | 1010 |
|
1038 | 1011 |
push @tags, \%tag; |
1039 | 1012 |
} |
... | ... |
@@ -10,8 +10,7 @@ |
10 | 10 |
|
11 | 11 |
# Tags |
12 | 12 |
my $tags = $git->tags( |
13 |
- $user, |
|
14 |
- $project, |
|
13 |
+ app->rep_info($user, $project), |
|
15 | 14 |
app->config->{basic}{tags_limit} || 1000, |
16 | 15 |
app->config->{basic}{tags_limit} || 1000 |
17 | 16 |
) || []; |
... | ... |
@@ -26,7 +26,7 @@ |
26 | 26 |
my $git = app->git; |
27 | 27 |
|
28 | 28 |
# Object type |
29 |
- my $type = $git->object_type($user, $project, "$rev^{}"); |
|
29 |
+ my $type = $git->object_type(app->rep_info($user, $project), "$rev^{}"); |
|
30 | 30 |
if (!$type || $type eq 'blob') { |
31 | 31 |
$self->reply->not_found; |
32 | 32 |
return; |
... | ... |
@@ -33,11 +33,11 @@ |
33 | 33 |
)->value; |
34 | 34 |
|
35 | 35 |
# Branches |
36 |
- my $branch_refs = $git->references($user, $project, 'heads'); |
|
36 |
+ my $branch_refs = $git->references(app->rep_info($user, $project), 'heads'); |
|
37 | 37 |
my $branches = $branch_refs->{$commit->{id}} || []; |
38 | 38 |
|
39 | 39 |
# Tags |
40 |
- my $tag_refs = $git->references($user, $project, 'tags'); |
|
40 |
+ my $tag_refs = $git->references(app->rep_info($user, $project), 'tags'); |
|
41 | 41 |
my $tags = $tag_refs->{$commit->{id}} || []; |
42 | 42 |
|
43 | 43 |
# Global variable for included template |
... | ... |
@@ -14,8 +14,7 @@ |
14 | 14 |
my $limit = app->config->{basic}{tags_limit}; |
15 | 15 |
my $page_count = 20; |
16 | 16 |
my $tags = $git->tags( |
17 |
- $user, |
|
18 |
- $project, |
|
17 |
+ app->rep_info($user, $project), |
|
19 | 18 |
$limit, |
20 | 19 |
$page_count, |
21 | 20 |
$page_count * ($page - 1) |
... | ... |
@@ -14,8 +14,7 @@ |
14 | 14 |
my $limit = app->config->{basic}{tags_limit}; |
15 | 15 |
my $page_count = 20; |
16 | 16 |
my $tags = $git->tags( |
17 |
- $user, |
|
18 |
- $project, |
|
17 |
+ app->rep_info($user, $project), |
|
19 | 18 |
$limit, |
20 | 19 |
$page_count, |
21 | 20 |
$page_count * ($page - 1) |
... | ... |
@@ -22,7 +22,7 @@ |
22 | 22 |
my $projects = app->manager->projects($user_id); |
23 | 23 |
my $reps = []; |
24 | 24 |
for my $project (@$projects) { |
25 |
- my $rep = app->git->repository($user_id, $project->{name}) || {none => 1}; |
|
25 |
+ my $rep = app->git->repository(app->rep_info($user_id, $project->{name})) || {none => 1}; |
|
26 | 26 |
$rep->{name} = $project->{name}; |
27 | 27 |
$rep->{private} = $project->{private}; |
28 | 28 |
$rep->{age} //= 0; |