From 789ac5b0119d8d878380bbe8b3de4c7630460148 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 5 Jan 2019 11:00:52 +0000 Subject: index: quiet down git-log error messages on new inboxes 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 | 11 +++++++++++ lib/PublicInbox/V2Writable.pm | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'lib/PublicInbox') diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index 76f3f33a..fd48169d 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -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; diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index 93babed5..0a304aae 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -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"; -- cgit v1.2.3-24-ge0c7