* [PATCH 03/10] edit+purge: support `--help' and `-h' like other commands
2020-09-01 1:14 7% [PATCH 00/10] some usability tweaks Eric Wong
@ 2020-09-01 1:15 7% ` Eric Wong
0 siblings, 0 replies; 2+ results
From: Eric Wong @ 2020-09-01 1:15 UTC (permalink / raw)
To: meta
And while we're at it, note edit is *destructive* to encourage
reading the fine manual.
---
Documentation/public-inbox-edit.pod | 2 +-
lib/PublicInbox/AdminEdit.pm | 2 +-
script/public-inbox-edit | 21 ++++++++++++++++++---
script/public-inbox-purge | 17 ++++++++++++++---
4 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/Documentation/public-inbox-edit.pod b/Documentation/public-inbox-edit.pod
index 68180872..55d1c163 100644
--- a/Documentation/public-inbox-edit.pod
+++ b/Documentation/public-inbox-edit.pod
@@ -1,6 +1,6 @@
=head1 NAME
-public-inbox-edit - edit messages in a public inbox
+public-inbox-edit - destructively edit messages in a public inbox
=head1 SYNOPSIS
diff --git a/lib/PublicInbox/AdminEdit.pm b/lib/PublicInbox/AdminEdit.pm
index 25abfd8e..4448dcc2 100644
--- a/lib/PublicInbox/AdminEdit.pm
+++ b/lib/PublicInbox/AdminEdit.pm
@@ -6,7 +6,7 @@ package PublicInbox::AdminEdit;
use strict;
use warnings;
use PublicInbox::Admin;
-our @OPT = qw(all force|f verbose|v!);
+our @OPT = qw(all force|f verbose|v! help|h);
sub check_editable ($) {
my ($ibxs) = @_;
diff --git a/script/public-inbox-edit b/script/public-inbox-edit
index 240beb3a..a70614fc 100755
--- a/script/public-inbox-edit
+++ b/script/public-inbox-edit
@@ -16,11 +16,26 @@ use PublicInbox::Eml;
use PublicInbox::InboxWritable qw(eml_from_path);
use PublicInbox::Import;
-my $usage = "$0 -m MESSAGE_ID [--all] [INBOX_DIRS]";
+my $help = <<'EOF';
+usage: public-inbox-edit -m MESSAGE-ID [--all] [INBOX_DIRS]
+
+ destructively edit messages in a public inbox
+
+options:
+
+ --all edit all configured inboxes
+ -m MESSAGE-ID edit the message with a given Message-ID
+ -F FILE edit the message matching the contents of FILE
+ --force forcibly edit even if Message-ID is ambiguous
+ --raw do not perform "From " line escaping
+
+See public-inbox-edit(1) man page for full documentation.
+EOF
+
my $opt = { verbose => 1, all => 0, -min_inbox_version => 2, raw => 0 };
my @opt = qw(mid|m=s file|F=s raw);
-GetOptions($opt, @PublicInbox::AdminEdit::OPT, @opt) or
- die "bad command-line args\n$usage\n";
+GetOptions($opt, @PublicInbox::AdminEdit::OPT, @opt) or die $help;
+if ($opt->{help}) { print $help; exit 0 };
my $cfg = PublicInbox::Config->new;
my $editor = $ENV{MAIL_EDITOR}; # e.g. "mutt -f"
diff --git a/script/public-inbox-purge b/script/public-inbox-purge
index 82a63b80..7bca11ea 100755
--- a/script/public-inbox-purge
+++ b/script/public-inbox-purge
@@ -13,10 +13,21 @@ use PublicInbox::Filter::Base qw(REJECT);
use PublicInbox::Eml;
require PublicInbox::V2Writable;
-my $usage = "$0 [--all] [INBOX_DIRS] </path/to/message";
+my $help = <<EOF;
+usage: public-inbox-purge [--all] [INBOX_DIRS] </path/to/message
+
+ erase message entirely from an inbox (including history)
+
+options:
+
+ --all purge from all configured inboxes
+
+See public-inbox-purge(1) man page for full documentation.
+EOF
+
my $opt = { verbose => 1, all => 0, -min_inbox_version => 2 };
-GetOptions($opt, @PublicInbox::AdminEdit::OPT) or
- die "bad command-line args\n$usage\n";
+GetOptions($opt, @PublicInbox::AdminEdit::OPT) or die $help;
+if ($opt->{help}) { print $help; exit 0 };
my @ibxs = PublicInbox::Admin::resolve_inboxes(\@ARGV, $opt);
PublicInbox::AdminEdit::check_editable(\@ibxs);
^ permalink raw reply related [relevance 7%]
* [PATCH 00/10] some usability tweaks
@ 2020-09-01 1:14 7% Eric Wong
2020-09-01 1:15 7% ` [PATCH 03/10] edit+purge: support `--help' and `-h' like other commands Eric Wong
0 siblings, 1 reply; 2+ results
From: Eric Wong @ 2020-09-01 1:14 UTC (permalink / raw)
To: meta
--help / -h is now supported for all user-run scripts (though
not public-inbox.cgi). I'm dropping -? support since it never
made it into a release; -h is more consistent with other CLI
tools out there (notably git).
init + convert now creates deep directories like "git init".
Some minor cleanups and future proofing along the way, too.
Eric Wong (10):
script/*: set executable bit on -learn and -imapd
admin: improve minimum version text
edit+purge: support `--help' and `-h' like other commands
script/*: fold $usage into $help, support `-h' instead of -?
daemon: support --help/-h in -httpd/imapd/nntpd
mda+learn: add --help / -h support
config: use defined-or (//) in a few places
watch: add --help/-h support
doc: remove B<> (bold) markup from the remaining POD
init+convert: create non-existing directory hierarchies
Documentation/public-inbox-edit.pod | 2 +-
Documentation/public-inbox-httpd.pod | 2 +-
Documentation/public-inbox-imapd.pod | 2 +-
Documentation/public-inbox-learn.pod | 2 +-
Documentation/public-inbox-mda.pod | 2 +-
Documentation/public-inbox-nntpd.pod | 2 +-
Documentation/public-inbox-watch.pod | 2 +-
lib/PublicInbox/Admin.pm | 2 +-
lib/PublicInbox/AdminEdit.pm | 2 +-
lib/PublicInbox/Config.pm | 6 ++----
lib/PublicInbox/Daemon.pm | 19 +++++++++++++++++--
script/public-inbox-compact | 9 ++++-----
script/public-inbox-convert | 21 ++++++++++-----------
script/public-inbox-edit | 21 ++++++++++++++++++---
script/public-inbox-imapd | 0
script/public-inbox-index | 10 ++++------
script/public-inbox-init | 17 +++++++++++------
script/public-inbox-learn | 23 ++++++++++++++++++-----
script/public-inbox-mda | 18 ++++++++++++++----
script/public-inbox-purge | 17 ++++++++++++++---
script/public-inbox-watch | 18 ++++++++++++++----
script/public-inbox-xcpdb | 8 +++-----
t/convert-compact.t | 20 ++++++++++----------
t/init.t | 12 ++++++++++++
24 files changed, 160 insertions(+), 77 deletions(-)
mode change 100644 => 100755 script/public-inbox-imapd
mode change 100644 => 100755 script/public-inbox-learn
^ permalink raw reply [relevance 7%]
Results 1-2 of 2 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2020-09-01 1:14 7% [PATCH 00/10] some usability tweaks Eric Wong
2020-09-01 1:15 7% ` [PATCH 03/10] edit+purge: support `--help' and `-h' like other commands Eric Wong
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).