зеркало из https://github.com/microsoft/git.git
gitweb: Modularized git_get_project_description to be more generic
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>
This commit is contained in:
Родитель
0fa920c35c
Коммит
e4e3b32bd2
|
@ -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:
|
||||
|
|
Загрузка…
Ссылка в новой задаче