]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LEI.pm
lei blob: add remote external support
[public-inbox.git] / lib / PublicInbox / LEI.pm
index fdb0bbcf2fe1ffb1afb73ebea5abfae4b3a2a0d9..a94941a995e8ad88b443de1e4ae1b5c607eee988 100644 (file)
@@ -121,7 +121,7 @@ sub index_opt {
 
 my @c_opt = qw(c=s@ C=s@ quiet|q);
 my @lxs_opt = (qw(remote! local! external! include|I=s@ exclude=s@ only=s@
-       import-remote!  no-torsocks torsocks=s),
+       import-remote! no-torsocks torsocks=s),
        PublicInbox::LeiQuery::curl_opt());
 
 # we generate shell completion + help using %CMD and %OPTDESC,
@@ -136,8 +136,8 @@ our %CMD = ( # sorted in order of importance/use:
        import-before! lock=s@ rsyncable alert=s@ mua=s verbose|v+), @c_opt,
        opt_dash('limit|n=i', '[0-9]+') ],
 
-'blob' => [ 'OID', 'display a git blob object, solving if necessary',
-       qw(git-dir=s@ cwd! verbose|v+ oid-a|A=s path-a|a=s path-b|b=s),
+'blob' => [ 'OID', 'show a git blob, reconstructing from mail if necessary',
+       qw(git-dir=s@ cwd! verbose|v+ mail! oid-a|A=s path-a|a=s path-b|b=s),
        @lxs_opt, @c_opt ],
 
 'add-external' => [ 'LOCATION',
@@ -249,7 +249,12 @@ my %OPTDESC = (
                "and\xa0'[]'\x{a0}ranges",
 'verbose|v+' => 'be more verbose',
 'external!' => 'do not use externals',
-'solve!' => 'do not attempt to reconstruct blobs from emails',
+'mail!' => 'do not look in mail storage for OID',
+'cwd!' => 'do not look in git repo of current working directory',
+'oid-a|A=s' => 'pre-image OID',
+'path-a|a=s' => 'pre-image pathname associated with OID',
+'path-b|b=s' => 'post-image pathname associated with OID',
+'git-dir=s@' => 'additional git repository to scan',
 'torsocks=s' => ['VAL|auto|no|yes',
                'whether or not to wrap git and curl commands with torsocks'],
 'no-torsocks' => 'alias for --torsocks=no',
@@ -786,7 +791,7 @@ sub lei__complete {
                        if (s/[:=].+\z//) { # req/optional args, e.g output|o=i
                        } elsif (s/\+\z//) { # verbose|v+
                        } elsif (s/!\z//) {
-                               # negation: solve! => no-solve|solve
+                               # negation: mail! => no-mail|mail
                                s/([\w\-]+)/$1|no-$1/g
                        }
                        map {