On Wed, Nov 4, 2020 at 2:16 PM Jeff King <peff@xxxxxxxx> wrote: > On Wed, Nov 04, 2020 at 12:27:30PM -0500, Eric Sunshine wrote: > > The commit message's justification for supporting --output seems > > reasonable. However, my knee-jerk reaction to the implementation was > > that it feels overly magical and a bit too hacky. I can see the logic > > in it but it also leaves a bad taste when the implementation has to > > "undo" a side-effect of some other piece of code, which makes it feel > > unplanned and fragile. [...] > > FWIW, that unsetting of rev.diffopt.close_file is exactly how git-log > does it. So while I agree it's a bit ugly, this is the intended way for > --output to be used across multiple diffs, and with log_tree_commit(). > I'd prefer to go this way for now, and if somebody wants to make it less > ugly, they can clean up all of the callers in one go. If you intend to re-roll, it might make sense to include this explanation in the commit message since existing precedent helps sell the ugliness (bad taste), making for a less negative knee-jerk reaction.