[PATCH 5/6] gitweb: Modularized git_get_project_description to be more generic
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Apr 29, 2011, 17:52 UTC
- Message-ID
- <1304099521-27617-6-git-send-email-jnareb@gmail.com>
- In-Reply-To
- <1304099521-27617-1-git-send-email-jnareb@gmail.com>
From: Sebastien Cevey <seb@cine7.net>
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> --- gitweb/gitweb.perl | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index f8d5722..e8685ac 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -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:
-- 1.7.3