Subject: format-patch with pager.format-patch=true gets very confused

From: Josh Triplett <[email-masked]>
Date: Sat, 16 Jul 2016 19:56:44 -0700

git-config(1) documents the ability to enable or disable the pager (or
set a command-specific pager) for any command by setting
pager.<cmd>=true.  For most commands, this seems to work as expected.
However, setting pager.format-patch=true (or setting it to any specific
pager) breaks badly: the pager spawns, with no output in it, and the
pager doesn't respond to keystrokes (which makes it difficult to quit).

I think this may occur because format-patch's "reopen_stdout" interacts
badly with the pager.

I think it makes sense for "format-patch --stdout" to respect
pager.format-patch, but for format-patch *without* stdout to ignore
pager.* and *never* spawn a pager, given that its only output (the list
of patch files) goes to "realstdout".

- Josh Triplett