From 3c9ab47c7d0e26fd22e1f42a198696b093629802 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 29 May 2019 20:56:32 +0000 Subject: searchidx: store indexlevel=medium as metadata And use it from Admin. It's easy to tell what indexlevel=basic is from unconfigured inboxes, but distinguishing between 'medium' and 'full' would require stat()-ing position.* files which is fragile and Xapian-implementation-dependent. So use the metadata facility of Xapian and store it in the main partition so Admin tools can deal better with unconfigured inboxes copied using generic tools like cp(1) or rsync(1). --- script/public-inbox-index | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'script/public-inbox-index') diff --git a/script/public-inbox-index b/script/public-inbox-index index e4a7be19..439da157 100755 --- a/script/public-inbox-index +++ b/script/public-inbox-index @@ -25,10 +25,9 @@ PublicInbox::Admin::require_or_die('-index'); usage() unless @ibxs; my $mods = {}; foreach my $ibx (@ibxs) { - if (defined $opt->{indexlevel} && !defined($ibx->{indexlevel})) { - # XXX: users can shoot themselves in the foot, with this... - $ibx->{indexlevel} = $opt->{indexlevel}; - } + # XXX: users can shoot themselves in the foot, with opt->{indexlevel} + $ibx->{indexlevel} //= $opt->{indexlevel} // + PublicInbox::Admin::detect_indexlevel($ibx); PublicInbox::Admin::scan_ibx_modules($mods, $ibx); } -- cgit v1.2.3-24-ge0c7