This is already used by */$OID/s/, so just reuse existing code
and make git->local_nick use the assigned nick from the config
file, if there is one.
---
 lib/PublicInbox/Git.pm       |  3 ++-
 lib/PublicInbox/WwwStream.pm | 17 +++++++----------
 2 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm
index 2ed3a29b..882a9a4a 100644
--- a/lib/PublicInbox/Git.pm
+++ b/lib/PublicInbox/Git.pm
@@ -452,7 +452,8 @@ sub DESTROY { cleanup(@_) }
 
 sub local_nick ($) {
        # don't show full FS path, basename should be OK:
-       $_[0]->{git_dir} =~ m!/([^/]+?)(?:/*\.git/*)?\z! ? "$1.git" : undef;
+       $_[0]->{nick} // ($_[0]->{git_dir} =~ m!/([^/]+?)(?:/*\.git/*)?\z! ?
+                       "$1.git" : undef);
 }
 
 sub host_prefix_url ($$) {
diff --git a/lib/PublicInbox/WwwStream.pm b/lib/PublicInbox/WwwStream.pm
index 92d243eb..ccac5e8b 100644
--- a/lib/PublicInbox/WwwStream.pm
+++ b/lib/PublicInbox/WwwStream.pm
@@ -98,16 +98,13 @@ sub coderepos ($) {
        my @ret = ('<a id=code>' .
                'Code repositories for project(s) associated with this '.
                $ctx->{ibx}->thing_type . "\n");
-       for my $cr_name (@$cr) {
-               my $urls = $cfg->get_all("coderepo.$cr_name.cgiturl");
-               if ($urls) {
-                       for (@$urls) {
-                               my $u = m!\A(?:[a-z\+]+:)?//! ? $_ : $pfx.$_;
-                               $u = ascii_html(prurl($ctx->{env}, $u));
-                               $ret[0] .= qq(\n\t<a\nhref="$u">$u</a>);
-                       }
-               } else {
-                       $ret[0] .= qq[\n\t$cr_name.git (no URL configured)];
+       my $objs = $cfg->repo_objs($ctx->{ibx});
+       for my $git (@$objs) {
+               my @urls = $git->pub_urls;
+               for (@urls) {
+                       my $u = m!\A(?:[a-z\+]+:)?//! ? $_ : $pfx.$_;
+                       $u = ascii_html(prurl($ctx->{env}, $u));
+                       $ret[0] .= qq(\n\t<a\nhref="$u">$u</a>);
                }
        }
        @ret; # may be empty, this sub is called as an arg for join()

Reply via email to