]> Sergey Matveev's repositories - public-inbox.git/commitdiff
index: quiet down git-log error messages on new inboxes
authorEric Wong <e@80x24.org>
Sat, 5 Jan 2019 11:00:52 +0000 (11:00 +0000)
committerEric Wong <e@80x24.org>
Sat, 5 Jan 2019 23:16:30 +0000 (23:16 +0000)
The new t/*filter_rubylang.t tests call -index immediately
after -init, which causes confusing messages to show up to
the end user.

Check the validity of the ref before calling "git-log".

lib/PublicInbox/SearchIdx.pm
lib/PublicInbox/V2Writable.pm
t/mda_filter_rubylang.t

index 76f3f33a4de5b9fa6925101c20d95ac870da9529..fd48169d4d7bb73170906f3e007c56da6659848b 100644 (file)
@@ -607,6 +607,17 @@ sub _git_log {
        my ($self, $range) = @_;
        my $git = $self->{git};
 
+       if (index($range, '..') < 0) {
+               # don't show annoying git errrors to users who run -index
+               # on empty inboxes
+               $git->qx(qw(rev-parse -q --verify), "$range^0");
+               if ($?) {
+                       open my $fh, '<', '/dev/null' or
+                               die "failed to open /dev/null: $!\n";
+                       return $fh;
+               }
+       }
+
        # Count the new files so they can be added newest to oldest
        # and still have numbers increasing from oldest to newest
        my $fcount = 0;
index 93babed5511ab513866295346673195a6827c002..0a304aae241a6b390592b30b3f21ddfeb608de9b 100644 (file)
@@ -790,7 +790,8 @@ sub index_prepare {
                my $git_dir = git_dir_n($self, $i);
                -d $git_dir or next; # missing parts are fine
                my $git = PublicInbox::Git->new($git_dir);
-               chomp(my $tip = $git->qx('rev-parse', $head));
+               chomp(my $tip = $git->qx(qw(rev-parse -q --verify), $head));
+               next if $?; # new repo
                my $range;
                if (defined(my $cur = $ranges->[$i])) {
                        $range = "$cur..$tip";
index cb6da4bb78bc879a03a22bc5564d717b837f4f96..0fb65a42935bb26aafb4df84814fdbed3003e0a6 100644 (file)
@@ -29,9 +29,7 @@ for my $v (qw(V1 V2)) {
        my @cmd = ('blib/script/public-inbox-init', "-$v", $v, $mainrepo,
                "http://example.com/$v", $addr);
        is(system(@cmd), 0, 'public-inbox init OK');
-       if ($v eq 'V1') {
-               is(system('blib/script/public-inbox-index', $mainrepo), 0);
-       }
+       is(system('blib/script/public-inbox-index', $mainrepo), 0);
        is(system(@cfg, "$cfgpfx.filter", 'PublicInbox::Filter::RubyLang'), 0);
        is(system(@cfg, "$cfgpfx.altid",
                'serial:alerts:file=msgmap.sqlite3'), 0);