... | ... |
@@ -33,7 +33,7 @@ sub rep_work_current_branch { |
33 | 33 |
} |
34 | 34 |
|
35 | 35 |
sub branch { |
36 |
- my ($self, $rep, $branch_name) = @_; |
|
36 |
+ my ($self, $rep_info, $branch_name) = @_; |
|
37 | 37 |
|
38 | 38 |
# Branch |
39 | 39 |
$branch_name =~ s/^\*//; |
... | ... |
@@ -41,19 +41,19 @@ sub branch { |
41 | 41 |
$branch_name =~ s/\s*$//; |
42 | 42 |
my $branch = {}; |
43 | 43 |
$branch->{name} = $branch_name; |
44 |
- my $commit = $self->get_commit_new($rep, $branch_name); |
|
44 |
+ my $commit = $self->get_commit_new($rep_info, $branch_name); |
|
45 | 45 |
$branch->{commit} = $commit; |
46 | 46 |
|
47 | 47 |
return $branch; |
48 | 48 |
} |
49 | 49 |
|
50 | 50 |
sub branch_status { |
51 |
- my ($self, $rep, $branch1, $branch2) = @_; |
|
51 |
+ my ($self, $rep_info, $branch1, $branch2) = @_; |
|
52 | 52 |
|
53 | 53 |
# Branch status |
54 | 54 |
my $status = {ahead => 0, behind => 0}; |
55 | 55 |
my @cmd = $self->cmd( |
56 |
- $rep, |
|
56 |
+ $rep_info, |
|
57 | 57 |
'rev-list', |
58 | 58 |
'--left-right', |
59 | 59 |
"$branch1...$branch2" |
... | ... |
@@ -69,12 +69,12 @@ sub branch_status { |
69 | 69 |
} |
70 | 70 |
|
71 | 71 |
sub no_merged_branch_h { |
72 |
- my ($self, $rep) = @_; |
|
72 |
+ my ($self, $rep_info) = @_; |
|
73 | 73 |
|
74 | 74 |
# No merged branches |
75 | 75 |
my $no_merged_branches_h = {}; |
76 | 76 |
{ |
77 |
- my @cmd = $self->cmd($rep, 'branch', '--no-merged'); |
|
77 |
+ my @cmd = $self->cmd($rep_info, 'branch', '--no-merged'); |
|
78 | 78 |
open my $fh, '-|', @cmd or return; |
79 | 79 |
my @lines = <$fh>; |
80 | 80 |
for my $branch_name (@lines) { |
... | ... |
@@ -90,10 +90,10 @@ sub no_merged_branch_h { |
90 | 90 |
} |
91 | 91 |
|
92 | 92 |
sub branches { |
93 |
- my ($self, $rep) = @_; |
|
93 |
+ my ($self, $rep_info) = @_; |
|
94 | 94 |
|
95 | 95 |
# Branches |
96 |
- my @cmd = $self->cmd($rep, 'branch'); |
|
96 |
+ my @cmd = $self->cmd($rep_info, 'branch'); |
|
97 | 97 |
open my $fh, '-|', @cmd or return; |
98 | 98 |
my $branches = []; |
99 | 99 |
my $start; |
... | ... |
@@ -106,11 +106,11 @@ sub branches { |
106 | 106 |
$branch_name =~ s/\s*$//; |
107 | 107 |
|
108 | 108 |
# No merged branch |
109 |
- $no_merged_branches_h = $self->no_merged_branch_h($rep) |
|
109 |
+ $no_merged_branches_h = $self->no_merged_branch_h($rep_info) |
|
110 | 110 |
unless $start++; |
111 | 111 |
|
112 | 112 |
# Branch |
113 |
- my $branch = $self->branch($rep, $branch_name); |
|
113 |
+ my $branch = $self->branch($rep_info, $branch_name); |
|
114 | 114 |
$branch->{no_merged} = 1 if $no_merged_branches_h->{$branch_name}; |
115 | 115 |
push @$branches, $branch; |
116 | 116 |
} |
... | ... |
@@ -120,10 +120,10 @@ sub branches { |
120 | 120 |
} |
121 | 121 |
|
122 | 122 |
sub branches_count { |
123 |
- my ($self, $rep) = @_; |
|
123 |
+ my ($self, $rep_info) = @_; |
|
124 | 124 |
|
125 | 125 |
# Branches count |
126 |
- my @cmd = $self->cmd($rep, 'branch'); |
|
126 |
+ my @cmd = $self->cmd($rep_info, 'branch'); |
|
127 | 127 |
open my $fh, '-|', @cmd or return; |
128 | 128 |
my @branches = <$fh>; |
129 | 129 |
my $branches_count = @branches; |
... | ... |
@@ -132,10 +132,10 @@ sub branches_count { |
132 | 132 |
} |
133 | 133 |
|
134 | 134 |
sub cmd { |
135 |
- my ($self, $rep, @command) = @_; |
|
135 |
+ my ($self, $rep_info, @command) = @_; |
|
136 | 136 |
|
137 |
- my $git_dir = $rep->{git_dir}; |
|
138 |
- my $work_tree = $rep->{work_tree}; |
|
137 |
+ my $git_dir = $rep_info->{git_dir}; |
|
138 |
+ my $work_tree = $rep_info->{work_tree}; |
|
139 | 139 |
|
140 | 140 |
my @command_all = ($self->bin); |
141 | 141 |
if (defined $git_dir) { |
... | ... |
@@ -153,9 +153,9 @@ sub cmd_rep { |
153 | 153 |
my ($self, $user, $project, @cmd) = @_; |
154 | 154 |
|
155 | 155 |
# Git command |
156 |
- my $rep = $self->app->rep_path($user, $project); |
|
156 |
+ my $rep_info = $self->app->rep_path($user, $project); |
|
157 | 157 |
|
158 |
- return $self->cmd_dir($rep, @cmd); |
|
158 |
+ return $self->cmd_dir($rep_info, @cmd); |
|
159 | 159 |
} |
160 | 160 |
|
161 | 161 |
sub cmd_dir { |
... | ... |
@@ -168,9 +168,9 @@ sub cmd_rep_work { |
168 | 168 |
my ($self, $user, $project, @cmd) = @_; |
169 | 169 |
|
170 | 170 |
# Working directory |
171 |
- my $rep_work = $self->app->rep_work_path($user, $project); |
|
171 |
+ my $work_rep_info = $self->app->rep_work_path($user, $project); |
|
172 | 172 |
|
173 |
- return $self->cmd_work_dir($rep_work, @cmd); |
|
173 |
+ return $self->cmd_work_dir($work_rep_info, @cmd); |
|
174 | 174 |
} |
175 | 175 |
|
176 | 176 |
sub cmd_work_dir { |
... | ... |
@@ -180,11 +180,11 @@ sub cmd_work_dir { |
180 | 180 |
} |
181 | 181 |
|
182 | 182 |
sub authors { |
183 |
- my ($self, $rep, $rev, $file) = @_; |
|
183 |
+ my ($self, $rep_info, $rev, $file) = @_; |
|
184 | 184 |
|
185 | 185 |
# Authors |
186 | 186 |
my @cmd = $self->cmd( |
187 |
- $rep, |
|
187 |
+ $rep_info, |
|
188 | 188 |
'log', |
189 | 189 |
'--format=%an', |
190 | 190 |
$rev, |
... | ... |
@@ -205,11 +205,11 @@ sub authors { |
205 | 205 |
} |
206 | 206 |
|
207 | 207 |
sub blame { |
208 |
- my ($self, $rep, $rev, $file) = @_; |
|
208 |
+ my ($self, $rep_info, $rev, $file) = @_; |
|
209 | 209 |
|
210 | 210 |
# Git blame |
211 | 211 |
my @cmd = $self->cmd( |
212 |
- $rep, |
|
212 |
+ $rep_info, |
|
213 | 213 |
'blame', |
214 | 214 |
'--line-porcelain', |
215 | 215 |
$rev, |
... | ... |
@@ -226,7 +226,7 @@ sub blame { |
226 | 226 |
my $min_author_time; |
227 | 227 |
my @lines = <$fh>; |
228 | 228 |
|
229 |
- my $enc = $self->decide_encoding($rep->{user}, $rep->{project}, \@lines); |
|
229 |
+ my $enc = $self->decide_encoding($rep_info->{user}, $rep_info->{project}, \@lines); |
|
230 | 230 |
for my $line (@lines) { |
231 | 231 |
$line = decode($enc, $line); |
232 | 232 |
chomp $line; |
... | ... |
@@ -281,13 +281,13 @@ sub blame { |
281 | 281 |
} |
282 | 282 |
|
283 | 283 |
sub blob { |
284 |
- my ($self, $rep, $rev, $file) = @_; |
|
284 |
+ my ($self, $rep_info, $rev, $file) = @_; |
|
285 | 285 |
|
286 | 286 |
# Blob |
287 |
- my $hash = $self->path_to_hash($rep->{user}, $rep->{project}, $rev, $file, 'blob') |
|
287 |
+ my $hash = $self->path_to_hash($rep_info->{user}, $rep_info->{project}, $rev, $file, 'blob') |
|
288 | 288 |
or croak 'Cannot find file'; |
289 | 289 |
my @cmd = $self->cmd( |
290 |
- $rep, |
|
290 |
+ $rep_info, |
|
291 | 291 |
'cat-file', |
292 | 292 |
'blob', |
293 | 293 |
$hash |
... | ... |
@@ -298,7 +298,7 @@ sub blob { |
298 | 298 |
# Format lines |
299 | 299 |
my @lines = <$fh>; |
300 | 300 |
my @new_lines; |
301 |
- my $enc = $self->decide_encoding($rep->{user}, $rep->{project}, \@lines); |
|
301 |
+ my $enc = $self->decide_encoding($rep_info->{user}, $rep_info->{project}, \@lines); |
|
302 | 302 |
for my $line (@lines) { |
303 | 303 |
$line = decode($enc, $line); |
304 | 304 |
chomp $line; |
... | ... |
@@ -309,7 +309,7 @@ sub blob { |
309 | 309 |
} |
310 | 310 |
|
311 | 311 |
sub blob_diffs { |
312 |
- my ($self, $rep, $rev1, $rev2, $diff_trees, $opt) = @_; |
|
312 |
+ my ($self, $rep_info, $rev1, $rev2, $diff_trees, $opt) = @_; |
|
313 | 313 |
|
314 | 314 |
$opt //= {}; |
315 | 315 |
my $ignore_space_change = $opt->{ignore_space_change}; |
... | ... |
@@ -318,7 +318,7 @@ sub blob_diffs { |
318 | 318 |
|
319 | 319 |
# Diff tree |
320 | 320 |
my @cmd = $self->cmd( |
321 |
- $rep, |
|
321 |
+ $rep_info, |
|
322 | 322 |
'diff-tree', |
323 | 323 |
'-r', |
324 | 324 |
'-M', |
... | ... |
@@ -334,7 +334,7 @@ sub blob_diffs { |
334 | 334 |
or croak('Open self-diff-tree failed'); |
335 | 335 |
my @diff_tree; |
336 | 336 |
my @diff_tree_lines = <$fh>; |
337 |
- my $diff_tree_enc = $self->decide_encoding($rep->{user}, $rep->{project}, \@diff_tree_lines); |
|
337 |
+ my $diff_tree_enc = $self->decide_encoding($rep_info->{user}, $rep_info->{project}, \@diff_tree_lines); |
|
338 | 338 |
for my $line (@diff_tree_lines) { |
339 | 339 |
$line = decode($diff_tree_enc, $line); |
340 | 340 |
chomp $line; |
... | ... |
@@ -355,7 +355,7 @@ sub blob_diffs { |
355 | 355 |
|
356 | 356 |
# Blob diff |
357 | 357 |
my @cmd = $self->cmd( |
358 |
- $rep, |
|
358 |
+ $rep_info, |
|
359 | 359 |
'diff-tree', |
360 | 360 |
'-r', |
361 | 361 |
'-M', |
... | ... |
@@ -370,7 +370,7 @@ sub blob_diffs { |
370 | 370 |
open my $fh, '-|', @cmd |
371 | 371 |
or croak('Open self-diff-tree failed'); |
372 | 372 |
my @lines = <$fh>; |
373 |
- my $enc = $self->decide_encoding($rep->{user}, $rep->{project}, \@lines); |
|
373 |
+ my $enc = $self->decide_encoding($rep_info->{user}, $rep_info->{project}, \@lines); |
|
374 | 374 |
@lines = map { decode($enc, $_) } @lines; |
375 | 375 |
close $fh; |
376 | 376 |
my ($lines, $diff_info) = $self->parse_blob_diff_lines(\@lines); |
... | ... |
@@ -411,13 +411,13 @@ sub blob_is_image { |
411 | 411 |
} |
412 | 412 |
|
413 | 413 |
sub blob_mime_type { |
414 |
- my ($self, $rep, $rev, $file) = @_; |
|
414 |
+ my ($self, $rep_info, $rev, $file) = @_; |
|
415 | 415 |
|
416 | 416 |
# Blob |
417 |
- my $hash = $self->path_to_hash($rep->{user}, $rep->{project}, $rev, $file, 'blob') |
|
417 |
+ my $hash = $self->path_to_hash($rep_info->{user}, $rep_info->{project}, $rev, $file, 'blob') |
|
418 | 418 |
or croak 'Cannot find file'; |
419 | 419 |
my @cmd = $self->cmd( |
420 |
- $rep, |
|
420 |
+ $rep_info, |
|
421 | 421 |
'cat-file', |
422 | 422 |
'blob', |
423 | 423 |
$hash |
... | ... |
@@ -456,12 +456,12 @@ sub blob_content_type { |
456 | 456 |
} |
457 | 457 |
|
458 | 458 |
sub blob_mode { |
459 |
- my ($self, $rep, $rev, $file) = @_; |
|
459 |
+ my ($self, $rep_info, $rev, $file) = @_; |
|
460 | 460 |
|
461 | 461 |
# Blob mode |
462 | 462 |
$file =~ s#/+$##; |
463 | 463 |
my @cmd = $self->cmd( |
464 |
- $rep, |
|
464 |
+ $rep_info, |
|
465 | 465 |
'ls-tree', |
466 | 466 |
$rev, |
467 | 467 |
'--', |
... | ... |
@@ -478,10 +478,10 @@ sub blob_mode { |
478 | 478 |
} |
479 | 479 |
|
480 | 480 |
sub blob_raw { |
481 |
- my ($self, $rep, $rev, $path) = @_; |
|
481 |
+ my ($self, $rep_info, $rev, $path) = @_; |
|
482 | 482 |
|
483 | 483 |
# Blob raw |
484 |
- my @cmd = $self->cmd($rep, 'cat-file', 'blob', "$rev:$path"); |
|
484 |
+ my @cmd = $self->cmd($rep_info, 'cat-file', 'blob', "$rev:$path"); |
|
485 | 485 |
open my $fh, "-|", @cmd |
486 | 486 |
or croak 500, "Open git-cat-file failed"; |
487 | 487 |
local $/; |
... | ... |
@@ -493,11 +493,11 @@ sub blob_raw { |
493 | 493 |
} |
494 | 494 |
|
495 | 495 |
sub blob_size { |
496 |
- my ($self, $rep, $rev, $file) = @_; |
|
496 |
+ my ($self, $rep_info, $rev, $file) = @_; |
|
497 | 497 |
|
498 | 498 |
# Blob size(KB) |
499 | 499 |
my @cmd = $self->cmd( |
500 |
- $rep, |
|
500 |
+ $rep_info, |
|
501 | 501 |
'cat-file', |
502 | 502 |
'-s', |
503 | 503 |
"$rev:$file" |
... | ... |
@@ -526,10 +526,10 @@ sub check_head_link { |
526 | 526 |
} |
527 | 527 |
|
528 | 528 |
sub commits_number { |
529 |
- my ($self, $user, $project, $ref) = @_; |
|
529 |
+ my ($self, $rep_info, $ref) = @_; |
|
530 | 530 |
|
531 | 531 |
# Command "git diff-tree" |
532 |
- my @cmd = $self->cmd_rep($user, $project, 'shortlog', '-s', $ref); |
|
532 |
+ my @cmd = $self->cmd($rep_info, 'shortlog', '-s', $ref); |
|
533 | 533 |
open my $fh, "-|", @cmd |
534 | 534 |
or croak 500, "Open git-shortlog failed"; |
535 | 535 |
my @commits_infos = <$fh>; |
... | ... |
@@ -46,7 +46,7 @@ |
46 | 46 |
$trees = $git->trees($user, $project, $rev); |
47 | 47 |
} |
48 | 48 |
# Commits number |
49 |
- $commits_number = $git->commits_number($user, $project, $rev); |
|
49 |
+ $commits_number = $git->commits_number(app->rep_info($user, $project), $rev); |
|
50 | 50 |
|
51 | 51 |
# Variable for included template |
52 | 52 |
stash( |