... | ... |
@@ -38,7 +38,7 @@ sub rep_info { |
38 | 38 |
|
39 | 39 |
my $info = {}; |
40 | 40 |
$info->{user} = $user; |
41 |
- $info->{project} = $user; |
|
41 |
+ $info->{project} = $project; |
|
42 | 42 |
$info->{git_dir} = $self->rep_home . "/$user/$project.git"; |
43 | 43 |
|
44 | 44 |
return $info; |
... | ... |
@@ -300,17 +300,21 @@ sub blame { |
300 | 300 |
} |
301 | 301 |
|
302 | 302 |
sub blob { |
303 |
- my ($self, $user, $project, $rev, $file) = @_; |
|
303 |
+ my ($self, %opt) = @_; |
|
304 |
+ |
|
305 |
+ my $rev = $opt{rev}; |
|
306 |
+ my $file = $opt{file}; |
|
304 | 307 |
|
305 | 308 |
# Blob |
306 |
- my $hash = $self->path_to_hash($user, $project, $rev, $file, 'blob') |
|
309 |
+ my $hash = $self->path_to_hash($opt{user}, $opt{project}, $rev, $file, 'blob') |
|
307 | 310 |
or croak 'Cannot find file'; |
308 |
- my @cmd = $self->cmd_rep( |
|
309 |
- $user, |
|
310 |
- $project, |
|
311 |
- 'cat-file', |
|
312 |
- 'blob', |
|
313 |
- $hash |
|
311 |
+ my @cmd = $self->cmd( |
|
312 |
+ %opt, |
|
313 |
+ command => [ |
|
314 |
+ 'cat-file', |
|
315 |
+ 'blob', |
|
316 |
+ $hash |
|
317 |
+ ] |
|
314 | 318 |
); |
315 | 319 |
open my $fh, '-|', @cmd |
316 | 320 |
or croak "Can't cat $file, $hash"; |
... | ... |
@@ -318,7 +322,7 @@ sub blob { |
318 | 322 |
# Format lines |
319 | 323 |
my @lines = <$fh>; |
320 | 324 |
my @new_lines; |
321 |
- my $enc = $self->decide_encoding($user, $project, \@lines); |
|
325 |
+ my $enc = $self->decide_encoding($opt{user}, $opt{project}, \@lines); |
|
322 | 326 |
for my $line (@lines) { |
323 | 327 |
$line = decode($enc, $line); |
324 | 328 |
chomp $line; |
... | ... |
@@ -36,7 +36,7 @@ |
36 | 36 |
|
37 | 37 |
# Blob lines(only text) |
38 | 38 |
my $lines; |
39 |
- $lines = $git->blob($user, $project, $rev, $file) if $mime_type =~ /^text/; |
|
39 |
+ $lines = $git->blob(%{app->rep_info($user, $project)}, rev => $rev, file => $file) if $mime_type =~ /^text/; |
|
40 | 40 |
|
41 | 41 |
# Variables for included template |
42 | 42 |
stash(id => $rev, project => $project, rev => $rev); |
... | ... |
@@ -8,7 +8,7 @@ |
8 | 8 |
my $type = ''; |
9 | 9 |
my $lines; |
10 | 10 |
my $readme_path = (defined $dir && $dir ne '') ? "$dir/README" : 'README'; |
11 |
- eval { $lines = app->git->blob($user, $project, $rev, $readme_path) }; |
|
11 |
+ eval { $lines = app->git->blob(%{app->rep_info($user, $project)}, rev => $rev, file => $readme_path) }; |
|
12 | 12 |
my $readme_e; |
13 | 13 |
|
14 | 14 |
if ($lines) { |
... | ... |
@@ -18,7 +18,7 @@ |
18 | 18 |
$readme_e =~ s#(^|\s|[^\x00-\x7F])(http(?:s)?://.+?)($|\s|[^\x00-\x7F])#$1<a href="$2">$2</a>$3#msg; |
19 | 19 |
} |
20 | 20 |
else { |
21 |
- eval { $lines = app->git->blob($user, $project, $rev, "$readme_path.md") }; |
|
21 |
+ eval { $lines = app->git->blob(%{app->rep_info($user, $project)}, rev => $rev, file => "$readme_path.md") }; |
|
22 | 22 |
if ($lines) { |
23 | 23 |
$type = 'markdown'; |
24 | 24 |
my $readme = join "\n", @$lines; |
... | ... |
@@ -15,8 +15,8 @@ |
15 | 15 |
my $file_base = File::Basename::basename $file; |
16 | 16 |
|
17 | 17 |
# Blob lines |
18 |
- my $lines = $git->blob($user, $project, $rev, '.gitmodules'); |
|
19 |
- |
|
18 |
+ my $lines = $git->blob(%{app->rep_info($user, $project)}, rev => $rev, file => '.gitmodules'); |
|
19 |
+ |
|
20 | 20 |
my $submodule_rep_url; |
21 | 21 |
my $match; |
22 | 22 |
my $file_q = quotemeta $file; |
... | ... |
@@ -43,7 +43,6 @@ |
43 | 43 |
layout 'common' , title => "$project/$file at $rev \x{30fb} $user/$project"; |
44 | 44 |
%> |
45 | 45 |
|
46 |
- |
|
47 | 46 |
%= include '/include/header'; |
48 | 47 |
|
49 | 48 |
<div class="container"> |