public-inbox.git  about / heads / tags
an "archives first" approach to mailing lists
blob 4bc5d25f8ef00b9ba2591604f06f06c1ce77c44f 2790 bytes (raw)
$ git show HEAD:Documentation/lei-p2q.pod	# shows this blob on the CLI

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
 
=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)>

git clone https://public-inbox.org/public-inbox.git
git clone http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/public-inbox.git