File: public-inbox-edit.pod

package info (click to toggle)
public-inbox 1.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 4,152 kB
  • sloc: perl: 52,771; sh: 302; ansic: 106; makefile: 37
file content (123 lines) | stat: -rw-r--r-- 3,283 bytes parent folder | download
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
=head1 NAME

public-inbox-edit - destructively edit messages in a public inbox

=head1 SYNOPSIS

	public-inbox-edit -m MESSAGE-ID --all|INBOX_DIR

	public-inbox-edit -F RAW_FILE --all|INBOX_DIR [.. INBOX_DIR]

=head1 DESCRIPTION

public-inbox-edit allows editing messages in a given inbox
to remove sensitive information.  It is only intended as a
last resort, as it will cause discontiguous git history and
draw more attention to the sensitive data in mirrors.

=head1 OPTIONS

=over

=item --all

Edit the message in all inboxes configured in ~/.public-inbox/config.
This is an alternative to specifying individual inboxes directories
on the command-line.

=item -m MESSAGE-ID

Edits the message corresponding to the given C<MESSAGE-ID>.
If the C<MESSAGE-ID> is ambiguous, C<--force> or using the
C<--file> of the original will be required.

=item -F FILE

Edits the message corresponding to the Message-ID: header
and content given in C<FILE>.  This requires the unmodified
raw message, and the contents of C<FILE> will not itself
be modified.  This is useful if a Message-ID is ambiguous
due to filtering/munging rules or other edits.

=item --force

Forcibly perform the edit even if Message-ID is ambiguous.

=item --raw

Do not perform "From " line escaping.  By default, this
generates a mboxrd variant file to detect unpurged messages
in the new mbox.  This makes sense if your configured
C<publicinbox.mailEditor> is a regular editor and not
something like C<mutt -f>

=back

=head1 CONFIGURATION

=over 8

=item publicinbox.mailEditor

The command to perform the edit with.  An example of this would be
C<mutt -f>, and the user would then use the facilities in L<mutt(1)>
to edit the mail.  This is useful for editing attachments or
Base64-encoded emails which are more difficult to edit with a
normal editor (configured via C<GIT_EDITOR>, C<VISUAL> or C<EDITOR>).

Default: none

=back

=head1 ENVIRONMENT

=over 8

=item GIT_EDITOR / VISUAL / EDITOR

=for comment MAIL_EDITOR is undocumented (unstable, don't want naming conflicts)

public-inbox-edit will fall back to using one of these variables
(in that order) if C<publicinbox.mailEditor> is unset.

=item PI_CONFIG

The default config file, normally "~/.public-inbox/config".
See L<public-inbox-config(5)>

=back

=head1 LIMITATIONS

Only L<v2|public-inbox-v2-format(5)> repositories are supported.

This is safe to run while normal inbox writing tools
(L<public-inbox-mda(1)>, L<public-inbox-watch(1)>,
L<public-inbox-learn(1)>) are active.

Running this in parallel with L<public-inbox-xcpdb(1)> or
C<"public-inbox-index --reindex"> can lead to errors or
edited data remaining indexed.

Incremental L<public-inbox-index(1)> (without C<--reindex>)
is fine.

Keep in mind this is a last resort, as it will be disruptive
to anyone using L<git(1)> to mirror the inbox being edited.

=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 2019-2021 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<public-inbox-purge(1)>