Skip to content

Commit

Permalink
gitweb: Modularized git_get_project_description to be more generic
Browse files Browse the repository at this point in the history
Introduce a git_get_file_or_project_config utility function to
retrieve a repository variable either from a plain text file in the
$GIT_DIR or else from 'gitweb.$variable' in the repository config
(e.g. 'description').

This would be used in next commit to retrieve category for a project,
which is to be stored in the same way as project description.

Signed-off-by: Sebastien Cevey <seb@cine7.net>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Sebastien Cevey authored and Junio C Hamano committed Apr 29, 2011
1 parent 0fa920c commit e4e3b32
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions gitweb/gitweb.perl
Original file line number Diff line number Diff line change
Expand Up @@ -2562,18 +2562,26 @@ sub git_get_path_by_hash {
## ......................................................................
## git utility functions, directly accessing git repository

sub git_get_project_description {
my $path = shift;
# get the value of config variable either from file named as the variable
# itself in the repository ($GIT_DIR/$name file), or from gitweb.$name
# configuration variable in the repository config file.
sub git_get_file_or_project_config {
my ($path, $name) = @_;

$git_dir = "$projectroot/$path";
open my $fd, '<', "$git_dir/description"
or return git_get_project_config('description');
my $descr = <$fd>;
open my $fd, '<', "$git_dir/$name"
or return git_get_project_config($name);
my $conf = <$fd>;
close $fd;
if (defined $descr) {
chomp $descr;
if (defined $conf) {
chomp $conf;
}
return $descr;
return $conf;
}

sub git_get_project_description {
my $path = shift;
return git_get_file_or_project_config($path, 'description');
}

# supported formats:
Expand Down

0 comments on commit e4e3b32

Please sign in to comment.