Re: Discussion for interactive --patch commands to get --unified support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Leon and Jeff

On 29/04/2025 23:09, Jeff King wrote:
On Tue, Apr 29, 2025 at 10:16:15AM +0100, Leon Michalak wrote:

- make `diff.context` setting extend to the interactive patch commands
(not sure how a change like this would be welcomed considering it
could change users command outputs seemingly out of nowhere)
- add an `interactive.context` setting that would work like the
existing `diff.context` setting but apply only to the interactive
patch commands

In my opinion it would be fine to respect diff.context (and probably
diff.interhunkcontext[1]) by default. Though it does change the command
output, the interactive output is by definition user-facing, so we
shouldn't be breaking scripts. And we already respect other porcelain
level config like colorizing.

I think that would be a good place to start and would be a useful improvement on the status quo. To implement it one can copy what we do to respect diff.algorithm. I'm not sure it is worth the effort to support `git add -p -U <context>`. Being able to interactively change the context as suggested elsewhere sounds more interesting to me but it would be more work to implement as we'd have to regenerate the diff each time.

Best Wishes

Phillip

I think the only reason we don't already do so is that the interactive
code is built around the plumbing commands, which conservatively avoid
various config options. So the calling code has to explicitly check the
config itself.

-Peff

[1] Looking at git_diff_ui_config(), which are all the options read by
     porcelain git-diff but not by plumbing git-diff-files, etc, there
     may be other config in the same boat. E.g., I'd guess that people
     with diff.colormoved set would appreciate seeing that effect in the
     colorized versions we show. But I think it is OK to just consider
     diff.context for now, and see if anybody ever cares enough about
     other options to look into them.






[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux