From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 6B1FB1FA11 for ; Tue, 1 Sep 2020 01:15:08 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 04/10] script/*: fold $usage into $help, support `-h' instead of -? Date: Tue, 1 Sep 2020 01:15:01 +0000 Message-Id: <20200901011507.1643-5-e@80x24.org> In-Reply-To: <20200901011507.1643-1-e@80x24.org> References: <20200901011507.1643-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: `-h' doesn't conflict with anything, and some users (including git users) may be more accustomed to using it rather than the rarely-seen-outside-of-Getopt::Long `-?' switch. We can also rely on the GetOptions() function to emit a proper error message instead of just "bad command-line args". --- script/public-inbox-compact | 9 ++++----- script/public-inbox-convert | 14 +++++--------- script/public-inbox-index | 10 ++++------ script/public-inbox-init | 7 +++---- script/public-inbox-xcpdb | 8 +++----- 5 files changed, 19 insertions(+), 29 deletions(-) diff --git a/script/public-inbox-compact b/script/public-inbox-compact index a6bb62bd..dfebac1c 100755 --- a/script/public-inbox-compact +++ b/script/public-inbox-compact @@ -4,10 +4,9 @@ use strict; use v5.10.1; use Getopt::Long qw(:config gnu_getopt no_ignore_case auto_abbrev); -my $usage = 'public-inbox-compact INBOX_DIR'; my $opt = { compact => 1, -coarse_lock => 1 }; my $help = <{help}) { print $help; exit 0 }; require PublicInbox::Admin; @@ -31,7 +30,7 @@ PublicInbox::Admin::progress_prepare($opt); require PublicInbox::InboxWritable; require PublicInbox::Xapcmd; my @ibxs = PublicInbox::Admin::resolve_inboxes(\@ARGV, $opt); -unless (@ibxs) { print STDERR "Usage: $usage\n"; exit 1 } +unless (@ibxs) { print STDERR $help; exit 1 } foreach (@ibxs) { my $ibx = PublicInbox::InboxWritable->new($_); PublicInbox::Xapcmd::run($ibx, 'compact', $opt); diff --git a/script/public-inbox-convert b/script/public-inbox-convert index 4ff198d1..017411fb 100755 --- a/script/public-inbox-convert +++ b/script/public-inbox-convert @@ -4,9 +4,8 @@ use strict; use v5.10.1; use Getopt::Long qw(:config gnu_getopt no_ignore_case auto_abbrev); -my $usage = 'Usage: public-inbox-convert [options] OLD NEW'; my $help = < -1, compact => 0, maxsize => undef, fsync => 1, reindex => 1, # we always reindex }; -GetOptions($opt, qw(jobs|j=i index! help|?), +GetOptions($opt, qw(jobs|j=i index! help|h), # index options qw(verbose|v+ rethread compact|c+ fsync|sync! indexlevel|index-level|L=s max_size|max-size=s batch_size|batch-size=s sequential_shard|sequential-shard|seq-shard - )) or die <{help}) { print $help; exit 0 }; my $old_dir = shift(@ARGV) // ''; my $new_dir = shift(@ARGV) // ''; -die $usage if (scalar(@ARGV) || $new_dir eq '' || $old_dir eq ''); +die $help if (scalar(@ARGV) || $new_dir eq '' || $old_dir eq ''); die "$new_dir exists\n" if -d $new_dir; die "$old_dir not a directory\n" unless -d $old_dir; diff --git a/script/public-inbox-index b/script/public-inbox-index index 9855c67d..89c6b782 100755 --- a/script/public-inbox-index +++ b/script/public-inbox-index @@ -8,9 +8,8 @@ use strict; use v5.10.1; use Getopt::Long qw(:config gnu_getopt no_ignore_case auto_abbrev); -my $usage = 'public-inbox-index [options] INBOX_DIR'; my $help = <{help}) { print $help; exit 0 }; die "--jobs must be >= 0\n" if defined $opt->{jobs} && $opt->{jobs} < 0; if ($opt->{xapian_only} && !$opt->{reindex}) { @@ -54,7 +52,7 @@ PublicInbox::Admin::require_or_die('-index'); my $cfg = PublicInbox::Config->new; # Config is loaded by Admin my @ibxs = PublicInbox::Admin::resolve_inboxes(\@ARGV, $opt, $cfg); PublicInbox::Admin::require_or_die('-index'); -unless (@ibxs) { print STDERR "Usage: $usage\n"; exit 1 } +unless (@ibxs) { print STDERR $help; exit 1 } my $mods = {}; foreach my $ibx (@ibxs) { diff --git a/script/public-inbox-init b/script/public-inbox-init index 037e8e56..ae4a575c 100755 --- a/script/public-inbox-init +++ b/script/public-inbox-init @@ -5,9 +5,8 @@ use strict; use v5.10.1; use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/; use Fcntl qw(:DEFAULT); -my $usage = 'public-inbox-init NAME INBOX_DIR HTTP_URL ADDRESS [ADDRESS..]'; my $help = < \$jobs, 'ng|newsgroup=s' => \$ng, 'skip-docdata' => \$skip_docdata, - 'help|?' => \$show_help, + 'help|h' => \$show_help, ); my $usage_cb = sub { - print STDERR "Usage: $usage\n"; + print STDERR $help; exit 1; }; GetOptions(%opts) or $usage_cb->(); diff --git a/script/public-inbox-xcpdb b/script/public-inbox-xcpdb index 2bfadc09..84620175 100755 --- a/script/public-inbox-xcpdb +++ b/script/public-inbox-xcpdb @@ -4,9 +4,8 @@ use strict; use v5.10.1; use Getopt::Long qw(:config gnu_getopt no_ignore_case auto_abbrev); -my $usage = 'Usage: public-inbox-xcpdb [options] INBOX_DIR'; my $help = <{help}) { print $help; exit 0 }; use PublicInbox::Admin; @@ -44,7 +42,7 @@ PublicInbox::Admin::require_or_die('-search'); require PublicInbox::Config; my $cfg = PublicInbox::Config->new; my @ibxs = PublicInbox::Admin::resolve_inboxes(\@ARGV, $opt, $cfg) or - die $usage; + die $help; my $idx_env = PublicInbox::Admin::index_prepare($opt, $cfg); # we only set XAPIAN_FLUSH_THRESHOLD for index, since cpdb doesn't