| =head1 NAME |
| |
| lei-p2q - use a patch to generate a lei-q query |
| |
| =head1 SYNOPSIS |
| |
| lei p2q [OPTIONS] (FILE|COMMIT) |
| |
| lei p2q [OPTIONS] (--stdin|-) |
| |
| =head1 DESCRIPTION |
| |
| Given a patch, create a query that can be fed on stdin to L<lei-q(1)>. |
| This is useful for mapping the patch to associated messages of an |
| inbox. |
| |
| The patch can be provided on stdin or as a file. Alternatively, when |
| an argument is given that does not point to an existing file, it is |
| taken as a reference to a commit in the current git repository, and |
| L<git-format-patch(1)> is used to generate the patch. |
| |
| =head1 OPTIONS |
| |
| =over |
| |
| =item -w PREFIX[,PREFIX] |
| |
| =item --want=PREFIX[,PREFIX] |
| |
| Search prefixes to use. C<dfpost> (post-image git blob ID) and C<dfn> |
| (file names from the diff) are the most useful. Other available |
| values are C<dfa>, C<dfb>, C<dfctx>, C<dfhh>, and C<dfpre>. |
| |
| =for comment |
| TODO: Put a table of prefixes somewhere and reference that (at least |
| here and in lei-q)? |
| |
| Appending an integer to C<dfpost> or C<dfpre> indicates a minimum ID |
| length, and the generated query will be for that value up through the |
| default abbreviation length. For example, if the repository's |
| C<core.abbrev> is set to C<auto> and git calculates the default |
| abbreviation length as 7, C<dfpost6> will expand a post-image blob ID |
| of e7b4b32 (seven characters) into C<dfpost:e7b4b32 OR dfpost:e7b4b3>. |
| |
| This option may be given multiple times. |
| |
| Default: C<dfpost7> |
| |
| =item --stdin |
| |
| Read message from stdin. This is implicit if no arguments are given |
| and stdin is a pipe or regular file. |
| |
| =item --debug |
| |
| Dump output that shows the information collected for every prefix. |
| This information can be useful for seeing how a patch is processed, |
| but the format should not be considered stable. |
| |
| =item --uri |
| |
| URI escape output for interacting with HTTP(S) public-inbox instances. |
| |
| =item -q |
| |
| =item --quiet |
| |
| Suppress feedback messages. |
| |
| =back |
| |
| =head1 EXAMPLES |
| |
| # to search for all threads which touch a given thread: |
| lei p2q $COMMIT_OID | lei q -t -o /tmp/results |
| |
| # to view results on a remote HTTP(S) public-inbox instance |
| $BROWSER https://example.com/pub-inbox/?q=$(lei p2q --uri $COMMIT_OID) |
| |
| # to view unapplied patches for a given $FILE from the past year: |
| echo \( rt:last.year.. AND dfn:$FILE \) AND NOT \( \ |
| $(git log -p --pretty=mboxrd --since=last.year $FILE | |
| lei p2q -F mboxrd ) |
| \) | lei q -o /tmp/unapplied |
| |
| =head1 CONTACT |
| |
| Feedback welcome via plain-text mail to L<mailto:meta@public-inbox.org> |
| |
| The mail archives are hosted at L<https://public-inbox.org/meta/> and |
| L<http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/> |
| |
| =head1 COPYRIGHT |
| |
| Copyright all contributors L<mailto:meta@public-inbox.org> |
| |
| License: AGPL-3.0+ L<https://www.gnu.org/licenses/agpl-3.0.txt> |
| |
| =head1 SEE ALSO |
| |
| L<lei-q(1)> |