#our $projectroot = "/pub/scm";
our $projectroot = "++GITWEB_PROJECTROOT++";
-# location for temporary files needed for diffs
-our $git_temp = "/tmp/gitweb";
-
# target of the home link on top of all pages
our $home_link = $my_uri || "/";
# You define site-wide feature defaults here; override them with
# $GITWEB_CONFIG as necessary.
our %feature = (
- # feature => {'sub' => feature-sub, 'override' => allow-override, 'default' => [ default options...]
- # if feature is overridable, feature-sub will be called with default options;
- # return value indicates if to enable specified feature
+ # feature => {
+ # 'sub' => feature-sub (subroutine),
+ # 'override' => allow-override (boolean),
+ # 'default' => [ default options...] (array reference)}
+ #
+ # if feature is overridable (it means that allow-override has true value,
+ # then feature-sub will be called with default options as parameters;
+ # return value of feature-sub indicates if to enable specified feature
+ #
+ # use gitweb_check_feature(<feature>) to check if <feature> is enabled
'blame' => {
'sub' => \&feature_blame,
}
# To enable system wide have in $GITWEB_CONFIG
-# $feature{'blame'}{'default'} = [1];
-# To have project specific config enable override in $GITWEB_CONFIG
-# $feature{'blame'}{'override'} = 1;
+# $feature{'blame'}{'default'} = [1];
+# To have project specific config enable override in $GITWEB_CONFIG
+# $feature{'blame'}{'override'} = 1;
# and in project config gitweb.blame = 0|1;
sub feature_blame {
}
# To disable system wide have in $GITWEB_CONFIG
-# $feature{'snapshot'}{'default'} = [undef];
-# To have project specific config enable override in $GITWEB_CONFIG
-# $feature{'blame'}{'override'} = 1;
+# $feature{'snapshot'}{'default'} = [undef];
+# To have project specific config enable override in $GITWEB_CONFIG
+# $feature{'blame'}{'override'} = 1;
# and in project config gitweb.snapshot = none|gzip|bzip2
sub feature_snapshot {
our $git_version = qx($GIT --version) =~ m/git version (.*)$/ ? $1 : "unknown";
$projects_list ||= $projectroot;
-if (! -d $git_temp) {
- mkdir($git_temp, 0700) || die_error(undef, "Couldn't mkdir $git_temp");
-}
# ======================================================================
# input validation and dispatch
chomp $line;
$line_class_num = ($line_class_num + 1) % $line_class_len;
- if ($line =~ m/^([0-9a-fA-F]{40})\t\(\s*([^\t]+)\t(\d+) \+\d\d\d\d\t(\d+)\)(.*)$/) {
+ if ($line =~ m/^([0-9a-fA-F]{40})\t\(\s*([^\t]+)\t(\d+) [+-]\d\d\d\d\t(\d+)\)(.*)$/) {
$long_rev = $1;
$author = $2;
$time = $3;
}
# open patch output
- #open $fd, "-|", $GIT, "diff", '-p', $hash_parent, $hash
- open $fd, "-|", $GIT, "diff", '-p', $hash, $hash_parent
+ open $fd, "-|", $GIT, "diff", '-p', $hash_parent, $hash
or die_error(undef, "Open git-diff failed");
} else {
die_error('404 Not Found', "Missing one of the blob diff parameters")