X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FConfig.pm;h=2d663515648741c8ab1a94b52bbeba703efd3eb8;hb=95bdac7f09c69036efed537a4d03d5bdd2ae4eb6;hp=1ba1225e9085a8305268c2d004ac45f120a94ec3;hpb=7778d7abd5acb2ba7c32de10cec1369f3982bf84;p=public-inbox.git diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index 1ba1225e..2d663515 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2014-2019 all contributors +# Copyright (C) 2014-2020 all contributors # License: AGPL-3.0+ # # Used throughout the project for reading configuration @@ -190,6 +190,9 @@ sub cgit_repo_merge ($$$) { return unless -e "$path/$se"; } return if -e "$path/noweb"; + # this comes from the cgit config, and AFAIK cgit only allows + # repos to have one URL, but that's just the PATH_INFO component, + # not the Host: portion # $repo = { url => 'foo.git', dir => '/path/to/foo.git' } my $rel = $repo->{url}; unless (defined $rel) { @@ -207,7 +210,7 @@ sub cgit_repo_merge ($$$) { $rel =~ s!/?\.git\z!!; } $self->{"coderepo.$rel.dir"} //= $path; - $self->{"coderepo.$rel.cgiturl"} //= $rel; + $self->{"coderepo.$rel.cgiturl"} //= _array($rel); } sub is_git_dir ($) { @@ -332,8 +335,9 @@ sub _fill_code_repo { _array($self->{lc("$pfx.${t}UrlFormat")}); } - if (my $cgits = $self->{lc("$pfx.cgitUrl")}) { + if (defined(my $cgits = $self->{"$pfx.cgiturl"})) { $git->{cgit_url} = $cgits = _array($cgits); + $self->{"$pfx.cgiturl"} = $cgits; # cgit supports "/blob/?id=%s", but it's only a plain-text # display and requires an unabbreviated id=