Case-insensitive git pickaxe search

Estoy tratando de encontrar todos los commits donde una cadena en particular o una capitalización arbitraria de los mismos (por ejemplo, foobar , FooBar , fooBar ) fue introducida / eliminada en un repository de git.

En base a esta respuesta SO (que cubre un caso de uso básico diferente), primero intenté usar git grep

 git rev-list --all | xargs git grep -i foobar 

Esto fue bastante horrible, ya que solo proporcionaba información sobre si la cadena estaba presente en una confirmación, así que terminé con un montón de confirmaciones superfluas.

Luego intenté con el pickaxe , lo que me llevó la mayor parte del path, por ejemplo

 git log --pickaxe-regex -S'foobar' --oneline 

Esto solo tiene la foobar minúscula. -i bandera -i , pero eso no parece aplicarse a la opción --pickaxe-regex . Luego recurrí al uso de patrones como este, lo que me llevó un poco más allá:

 git log --pickaxe-regex -S'.oo.ar' --oneline 

¿Hay alguna manera de hacer que " --pickaxe-regex haga una coincidencia insensible a mayúsculas y minúsculas"?

Estoy usando git v1.7.12.4.

La forma en que -i se usa con el pico (ver cometer accccde , git 1.7.10, abril de 2012) es:

 git log -S foobar -i --oneline # or git log --regexp-ignore-case -Sfoobar # or git log -i -Sfoobar 

Tenga en count que con las versiones 1.x git, esta opción no funcionará con expresiones regulares, solo que con una cadena fija. Funciona con expresiones regulares solo desde git 2.0 y commit 218c45a , git 2.0, mayo de 2014.