Daniel <mjucde@xxxxx> writes: > Andreas Ericsson <ae@xxxxxx> wrote: > >> Yes, it's the correct behaviour. -S finds only lines where what you search >> for was added or deleted. It counts the number of occurrences of what you >> specify in each resulting tree and only shows the commits where that number >> changed. In your case, searching for "Free data " would have printed both >> commits, since you first introduce that entire string and then remove it. > > Thanks. However, your suggestion doesn't work. It prints only commit 2. Maybe > you meant: > > $ PAGER=cat git log --pickaxe-regex -S'Free data$' --oneline > > but that doesn't solve my problem. I want to find all commits which changed > lines containing "Free data" (the example I posted is simplified). > > Seems I have to use "git log -p" and search its output using pager... Search the ML's archives, this is a FAQ. People have proposed an option to allow log -S to actually search the diff (much slower, but sometimes what you really want), but AFAIK, no one wrote the code. But I think someone posted a small perl script along the lines of git log -p --format="%s\n%x00" | perl -0 -ne 'print if(/whatever-you-search/);' -- Matthieu Moy http://www-verimag.imag.fr/~moy/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html