]> Sergey Matveev's repositories - public-inbox.git/commitdiff
config: use description file for gitweb
authorEric Wong <e@80x24.org>
Mon, 21 Apr 2014 10:43:59 +0000 (10:43 +0000)
committerEric Wong <e@80x24.org>
Mon, 21 Apr 2014 10:43:59 +0000 (10:43 +0000)
Do not repeat ourselves, just use the same description file
gitweb uses to avoid surprising users.

examples/public-inbox-config
lib/PublicInbox/Config.pm
lib/PublicInbox/Feed.pm
t/cgi.t
t/config.t

index 6793f256dfbc9d9cf95a1436d1fd1ac26709df51..0c1db118da45043e491c0850cfbd042ac573aa8f 100644 (file)
@@ -5,11 +5,9 @@
        address = sandbox@public-inbox.org
        address = test@public-inbox.org
        mainrepo = /home/pi/test-main.git
-       description = test/sandbox area, occasionally reset
        url = http://example.com/test
 [publicinbox "meta"]
        address = meta@public-inbox.org
        mainrepo = /home/pi/meta-main.git
-       description = development discussion
        url = http://example.com/meta
        atomUrl = http://example.com/meta
index d71bc52e203d7c79efc3f9a4c4aab14bfdb974bf..32bd9ab6211e43e272ed0c6d43b274f6fb7dbb73 100644 (file)
@@ -57,7 +57,7 @@ sub lookup {
        defined $pfx or return;
 
        my %rv;
-       foreach my $k (qw(mainrepo description address)) {
+       foreach my $k (qw(mainrepo address)) {
                my $v = $self->{"$pfx.$k"};
                $rv{$k} = $v if defined $v;
        }
index 4671323cc1bd74b48a07c905b9065d889d28bcc9..8cc8b728887446aff0cb622352563ef1eb66ad7a 100644 (file)
@@ -200,9 +200,13 @@ sub get_feedopts {
        my $listname = $args->{listname};
        my $cgi = $args->{cgi};
        my %rv;
+       if (open my $fh, '<', "$args->{git_dir}/description") {
+               chomp($rv{description} = <$fh>);
+               close $fh;
+       }
 
        if ($pi_config && defined $listname && length $listname) {
-               foreach my $key (qw(description address)) {
+               foreach my $key (qw(address)) {
                        $rv{$key} = $pi_config->get($listname, $key) || "";
                }
        }
diff --git a/t/cgi.t b/t/cgi.t
index 365acd842c20ee5c91fcc1d9eac3e38ab3b1a82a..b59ca54ae15e6d96ea4683e691cd8b5256caf798 100644 (file)
--- a/t/cgi.t
+++ b/t/cgi.t
@@ -28,10 +28,12 @@ my $cfgpfx = "publicinbox.test";
        is(1, mkdir($pi_home, 0755), "setup ~/.public-inbox");
        is(0, system(qw(git init -q --bare), $maindir), "git init (main)");
 
+       open my $fh, '>', "$maindir/description" or die "open: $!\n";
+       print $fh "test for public-inbox\n";
+       close $fh or die "close: $!\n";
        my %cfg = (
                "$cfgpfx.address" => $addr,
                "$cfgpfx.mainrepo" => $maindir,
-               "$cfgpfx.description" => 'test for public-inbox',
        );
        while (my ($k,$v) = each %cfg) {
                is(0, system(qw(git config --file), $pi_config, $k, $v),
index 50bc8d6d3eefb729417750a5721a9ddb1380a496..d4700fc9b009e73e874ab8024acd6a1b828b9231 100644 (file)
@@ -29,7 +29,6 @@ my $tmpdir = tempdir(CLEANUP => 1);
                'mainrepo' => '/home/pi/meta-main.git',
                'address' => 'meta@public-inbox.org',
                -primary_address => 'meta@public-inbox.org',
-               'description' => 'development discussion',
                'listname' => 'meta',
        }, "lookup matches expected output");
 
@@ -43,7 +42,6 @@ my $tmpdir = tempdir(CLEANUP => 1);
                              'test@public-inbox.org'],
                -primary_address => 'try@public-inbox.org',
                'mainrepo' => '/home/pi/test-main.git',
-               'description' => 'test/sandbox area, occasionally reset',
                'listname' => 'test',
        }, "lookup matches expected output for test");
 }