use Sys::Syslog;
use Template;
use URI::Escape;
+use Cwd;
use Data::Dumper;
sub info {
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;
}
-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)};