PublicInbox::Admin::check_require('-index');
require PublicInbox::MIME;
require PublicInbox::InboxWritable;
+require PublicInbox::Import;
my $usage = "$0 -m MESSAGE_ID [--all] [INBOX_DIRS]";
my $opt = { verbose => 1, all => 0, -min_inbox_version => 2, raw => 0 };
my $new_mime = PublicInbox::MIME->new(\$new_raw);
my $old_mime = PublicInbox::MIME->new($old_raw);
+ # make sure we don't compare unwanted headers, since mutt adds
+ # Content-Length, Status, and Lines headers:
+ PublicInbox::Import::drop_unwanted_headers($new_mime);
+ PublicInbox::Import::drop_unwanted_headers($old_mime);
+
# allow changing Received: and maybe other headers which can
# contain sensitive info.
my $nhdr = $new_mime->header_obj;
is($after, $before, 'git head unchanged');
}
+$t = 'no-op -m MESSAGE_ID w/Status: header'; { # because mutt does it
+ $in = $out = $err = '';
+ my $before = `git $__git_dir rev-parse HEAD`;
+ local $ENV{MAIL_EDITOR} =
+ "$^X -i -p -e 's/^Subject:.*/Status: RO\\n\$&/'";
+ $cmd = [ "$cmd_pfx-edit", "-m$mid", $mainrepo ];
+ ok(run($cmd, \$in, \$out, \$err), "$t succeeds");
+ my $prev = $cur;
+ $cur = PublicInbox::MIME->new($ibx->msg_by_mid($mid));
+ is_deeply($cur, $prev, "$t makes no change");
+ like($cur->header('Subject'), qr/boolean prefix/,
+ "$t does not change message");
+ is($cur->header('Status'), undef, 'Status header not added');
+ like($out, qr/NONE/, 'noop shows NONE');
+ my $after = `git $__git_dir rev-parse HEAD`;
+ is($after, $before, 'git head unchanged');
+}
+
$t = '-m MESSAGE_ID can change Received: headers'; {
$in = $out = $err = '';
my $before = `git $__git_dir rev-parse HEAD`;