TL;DR version
git -c diff.algorithm=minimal add -p
(requires Git version 1.8.4 or newer).
Details
Moving this from comment to answer after the last bit of research:
Since Git version 1.8.4, the interactive add perl script (which implements git add -p
) obeys the diff.algorithm
setting in your git configuration. This went in with commit 2cc0f53 (12 Jun 2013) by John Keeping (johnkeeping
).
(Merged by Junio C Hamano -- gitster
-- in commit 91fc159, 27 Jun 2013) :
When staging hunks interactively it is sometimes useful to use an
alternative diff algorithm which splits the changes into hunks in a more
logical manner. This is not possible because the plumbing commands
called by add--interactive ignore the "diff.algorithm" configuration
option (as they should).
Since add--interactive is a porcelain command it should respect this
configuration variable. To do this, make it read diff.algorithm and
pass its value to the underlying diff-index and diff-files invocations.
At this point, do not add options to "git add", "git reset" or "git
checkout" (all of which can call git-add--interactive). If a user
wants to override the value on the command line they can use:
git -c diff.algorithm=$ALGO ...
(with a fix in commit e5c2909 (23 Jun 2013) by Junio C Hamano (gitster
); the fix is also in 1.8.4).