git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git add -p doesn't respect diff.context

From
Jeff King <peff@peff.net>
Date
Feb 4, 2016, 08:02 UTC
Message-ID
<20160204080239.GC21161@sigill.intra.peff.net>
In-Reply-To
<20160120063523.GA26490@glandium.org>
On Wed, Jan 20, 2016 at 03:35:23PM +0900, Mike Hommey wrote:
Show 14 quoted lines
> When doing git add -p, the default of 3 context lines is used, ignoring
> the diff.context.
> 
> git add -p is using git-diff-files, and diff.context is being read in
> git_diff_ui_config, so the comment above that function applies:
> /*
>  * These are to give UI layer defaults.
>  * The core-level commands such as git-diff-files should
>  * never be affected by the setting of diff.renames
>  * the user happens to have in the configuration file.
>  */
> 
> I guess the question is whether it's diff-files or add -p that should
> honor diff.context. Or should it have its own separate config?

I think it must be "add -p", as otherwise we risk breaking scripts which try to build on diff-tree but can't handle extra context (though I have to admit that unlike something like diff.color, it would be a pretty poor consumer of a diff that couldn't handle varying context).

We already do something similar with diff.algorithm. I think you could probably just cargo-cult the handling of $diff_algorithm in git-add--interactive.perl.

It might also make a nice GSoC microproject.
-Peff
Previous: Mike Hommey
Message 2 of 2 in “git add -p doesn't respect diff.context”
  1. Mike HommeyJan 20, 2016
  2. Jeff KingFeb 4, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.