On Sun, 7 Oct 2018, Junio C Hamano wrote:
> Ævar Arnfjörð Bjarmason <ava...@gmail.com> writes: > > > On Sat, Oct 6, 2018 at 5:16 PM Julia Lawall <julia.law...@lip6.fr> wrote: > >> Git log -S or -G make it possible to find commits that have particular > >> words in the changed lines. Sometimes it would be helpful to search for > >> words in the removed lines or in the added lines specifically. From the > >> implementation, I had the impression that this would be easy to implement. > >> The main question would be how to allow the user to specify what is > >> wanted. > > > > As far as I know this isn't possible. The --diff-filter option is > > similar in spirit, but e.g. adding "foo" and then removing it from an > > existing file will both be covered under --diff-filter=M, so that > > isn't what you're looking for. > > I agree with Julia that UI to the feature is harder than the > machinery to implement the feature to add "I am interested in seeing > a patch that contains a hunk that adds 'foo' but am not interested > in removal" (or vice versa) for -G. You tweak > diffcore-pickaxe.c::diffgrep_consume() and you'are done. > > Doing the same for -S is much harder at the machinery level, as it > performs its thing without internally running "diff" twice, but just > counts the number of occurrences of 'foo'---that is sufficient for > its intended use, and more efficient. There is still the question of whether the number of occurrences of foo decreases or increases. julia