aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgorillanest11
1 files changed, 8 insertions, 3 deletions
diff --git a/gorillanest b/gorillanest
index 2d26d7f..b361068 100755
--- a/gorillanest
+++ b/gorillanest
@@ -10,6 +10,7 @@ use Syntax::Keyword::Try;
use Sys::Syslog;
use Template;
use URI::Escape;
+use Cwd;
use Data::Dumper;
sub info {
@@ -54,7 +55,11 @@ sub GN::user { # /$username/
sub GN::repository { # /$username/$repository
my ($root, $dataref) = @_;
my %data = %$dataref;
- $data{log} = Dumper(split(/\n/, qx(cd $root/$data{username}/$data{repository} && git log --pretty=format:\'%H | %an | %ad | %s%x0a\'))); # It technically works # | tac | tr -s \'\n\'
+ my $d = getcwd();
+ chdir(join('/', $root, $data{username}, $data{repository}));
+ warn 'sneed ' . getcwd() . "\n";
+ $data{log} = Dumper(split(/\n/, qx(git log --pretty=format:\'%H | %an | %ad | %s%x0a\'))); # It technically works # | tac | tr -s \'\n\'
+ chdir($d);
$data{found} = 1;
return \%data;
}
@@ -77,11 +82,11 @@ try {
-charset => 'UTF-8',
);
my $method = $ENV{'REQUEST_METHOD'} || '';
- my $uri = $ENV{'REQUEST_URI'} // '/';
+ my $uri = $ENV{'REQUEST_URI'} || '/';
if ($method eq 'HEAD') {
$head = 1;
} elsif ($method eq 'GET') {
- ($data{username}, $data{repository}) = $uri =~ m{^/([a-zA-Z0-9_]+)(?:/([a-zA-Z0-9_\.]+))?$}; # [[:alnum:]] didn't work
+ ($data{username}, $data{repository}) = $uri =~ m{^/([a-zA-Z0-9_.]+)(?:/([a-zA-Z0-9_.]+))?};
info("name:", $data{username} || '', "repo:", $data{repository} || '');
if ($uri eq '/') {
%data = %{GN::index($public, \%data)};