]> Sergey Matveev's repositories - public-inbox.git/commit
lei rediff: regenerate diffs from stdin
authorEric Wong <e@80x24.org>
Wed, 5 May 2021 10:46:37 +0000 (10:46 +0000)
committerEric Wong <e@80x24.org>
Wed, 5 May 2021 17:45:16 +0000 (17:45 +0000)
commitcf0c7ce3ce81b5c33cb149a7edc3efd99631a57d
tree1515dfb085ca091d8ce951fc64b9efc652300607
parent40f3f2a2c805fc37c7ed35a60948856bd962b493
lei rediff: regenerate diffs from stdin

Sometimes a mailed patch is generated with non-ideal output,
(lacking context, noisy whitespace changes, etc.), or a user
wants to use the same external diff viewer they've configured
git to use.

Since we have SolverGit to regenerate arbitrary blobs from
patches; this new command allows us to regenerate a diff with
different options using the blobs SolverGit gives us.

The amount of git-diff(1) options is mind numbing, so it's
likely I missed some favorites or botched the getopt spec
translation.

This also fixes Inbox::base_url to check psgi.url_scheme
before attempting to generate URLs and avoid uninitialized
variable warnings.  Oddly, the "lei blob" tests did not
trigger these uninitialized warnings.

Note: this will automatically import+index the message(s)
it's regenerating, because solver relies on being able
to lookup pre/postimage OIDs and read blobs.
MANIFEST
lib/PublicInbox/Inbox.pm
lib/PublicInbox/LEI.pm
lib/PublicInbox/LeiInput.pm
lib/PublicInbox/LeiRediff.pm [new file with mode: 0644]
t/solver_git.t