[PATCH 2/3] gitweb: Modularized git_get_project_description to be more generic
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Mar 7, 2011, 23:13 UTC
- Message-ID
- <1299539616-19991-3-git-send-email-jnareb@gmail.com>
- In-Reply-To
- <1299539616-19991-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 0020b13..c032cd4 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -2550,18 +2550,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'); } sub git_get_project_ctags {
-- 1.7.3