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