user/dev discussion of public-inbox itself
 help / color / Atom feed
* [PATCH] index: quiet down git-log error messages on new inboxes
@ 2019-01-05 11:09 Eric Wong
  2019-01-05 23:17 ` [PATCH v2] " Eric Wong
  0 siblings, 1 reply; 2+ messages in thread
From: Eric Wong @ 2019-01-05 11:09 UTC (permalink / raw)
  To: meta

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 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index 76f3f33..fd48169 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;
-- 
EW


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH v2] index: quiet down git-log error messages on new inboxes
  2019-01-05 11:09 [PATCH] index: quiet down git-log error messages on new inboxes Eric Wong
@ 2019-01-05 23:17 ` " Eric Wong
  0 siblings, 0 replies; 2+ messages in thread
From: Eric Wong @ 2019-01-05 23:17 UTC (permalink / raw)
  To: meta

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".
---
 v2: quiet down "public-inbox-index" on v2 repos, too

 lib/PublicInbox/SearchIdx.pm  | 11 +++++++++++
 lib/PublicInbox/V2Writable.pm |  3 ++-
 t/mda_filter_rubylang.t       |  4 +---
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index 76f3f33..fd48169 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 93babed..0a304aa 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";
diff --git a/t/mda_filter_rubylang.t b/t/mda_filter_rubylang.t
index cb6da4b..0fb65a4 100644
--- a/t/mda_filter_rubylang.t
+++ b/t/mda_filter_rubylang.t
@@ -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);
-- 
EW

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, back to index

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-05 11:09 [PATCH] index: quiet down git-log error messages on new inboxes Eric Wong
2019-01-05 23:17 ` [PATCH v2] " Eric Wong

user/dev discussion of public-inbox itself

Archives are clonable:
	git clone --mirror http://public-inbox.org/meta
	git clone --mirror http://czquwvybam4bgbro.onion/meta
	git clone --mirror http://hjrcffqmbrq6wope.onion/meta
	git clone --mirror http://ou63pmih66umazou.onion/meta

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.mail.public-inbox.meta
	nntp://ou63pmih66umazou.onion/inbox.comp.mail.public-inbox.meta
	nntp://czquwvybam4bgbro.onion/inbox.comp.mail.public-inbox.meta
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.mail.public-inbox.meta
	nntp://news.gmane.org/gmane.mail.public-inbox.general

 note: .onion URLs require Tor: https://www.torproject.org/
       or Tor2web: https://www.tor2web.org/

AGPL code for this site: git clone https://public-inbox.org/ public-inbox