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-ASN: 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 3B3481F9F3 for ; Thu, 22 Apr 2021 09:08:23 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 3/3] lei import|convert: drop --no-kw aliases Date: Thu, 22 Apr 2021 07:08:22 -0200 Message-Id: <20210422090822.18869-4-e@80x24.org> In-Reply-To: <20210422090822.18869-1-e@80x24.org> References: <20210422090822.18869-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Supporting --no-keywords and --no-flags aliases is harmful if users end up assuming "keywords:" and "flags:" are valid search prefixes (they're not). --- Documentation/lei-import.pod | 2 +- lib/PublicInbox/LEI.pm | 9 ++++----- t/lei.t | 3 +-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Documentation/lei-import.pod b/Documentation/lei-import.pod index acc4f776..7d70191d 100644 --- a/Documentation/lei-import.pod +++ b/Documentation/lei-import.pod @@ -40,7 +40,7 @@ C. Default: fcntl,dotlock -=item --no-kw, --no-keywords, --no-flags +=item --no-kw Don't import message keywords (or "flags" in IMAP terminology). diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index d9e644eb..9f49fc03 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -181,7 +181,7 @@ our %CMD = ( # sorted in order of importance/use: qw(exact! all jobs:i indexed), @c_opt ], 'add-watch' => [ 'LOCATION', 'watch for new messages and flag changes', - qw(import! kw|keywords|flags! interval=s recursive|r + qw(import! kw! interval=s recursive|r exclude=s include=s), @c_opt ], 'ls-watch' => [ '[FILTER...]', 'list active watches with numbers and status', qw(format|f=s z), @c_opt ], @@ -193,12 +193,11 @@ our %CMD = ( # sorted in order of importance/use: 'import' => [ 'LOCATION...|--stdin', 'one-time import/update from URL or filesystem', qw(stdin| offset=i recursive|r exclude=s include|I=s - lock=s@ in-format|F=s kw|keywords|flags! verbose|v+ - incremental!), @c_opt ], + lock=s@ in-format|F=s kw! verbose|v+ incremental!), @c_opt ], 'convert' => [ 'LOCATION...|--stdin', 'one-time conversion from URL or filesystem to another format', qw(stdin| in-format|F=s out-format|f=s output|mfolder|o=s - lock=s@ kw|keywords|flags!), @c_opt ], + lock=s@ kw!), @c_opt ], 'p2q' => [ 'FILE|COMMIT_OID|--stdin', "use a patch to generate a query for `lei q --stdin'", qw(stdin| want|w=s@ uri debug), @c_opt ], @@ -350,7 +349,7 @@ my %OPTDESC = ( 'by-mid|mid:s' => [ 'MID', 'match only by Message-ID, ignoring contents' ], -'kw|keywords|flags!' => 'disable/enable importing flags', +'kw!' => 'disable/enable importing keywords (aka "flags")', # xargs, env, use "-0", git(1) uses "-z". We support z|0 everywhere 'z|0' => 'use NUL \\0 instead of newline (CR) to delimit lines', diff --git a/t/lei.t b/t/lei.t index 6ade2f18..6d276050 100644 --- a/t/lei.t +++ b/t/lei.t @@ -131,8 +131,7 @@ my $test_completion = sub { } lei_ok(qw(_complete lei import)); %out = map { $_ => 1 } split(/\s+/s, $lei_out); - for my $sw (qw(--flags --no-flags --no-kw --kw --no-keywords - --keywords)) { + for my $sw (qw(--no-kw --kw)) { ok($out{$sw}, "$sw offered as `lei import' completion"); } };