Hola, tienes razón, al parecer el comportamiento de este flag cambió y ahora funciona... diferente
git log -S
Ya NO va a mostrar todas las ocurrencias de tus commits con tal palabra a como lo explico Freddy
Ahora lo que este comando hará es buscar en TODOS tus archivos dicha palabra, y verá si hubo alguna adición o eliminación que contenga dicha palabra
Por ejemplo, supongamos que tienes un archivo llamado hola.txt que dentro tiene escrito "hola" y haces el primer commit, después, borras ese "hola" y escribes "adios" y haces otro commit.
En la historia (O si haces un git diff) verás que hubo un "addition" y un "deletion", es decir, añadiste la palabra "adios" y borraste la palabra "hola".
Entonces, si tu ejecutaras git log -S "hola" lo que va a suceder es que va a buscar entre todos tus archivos si hubo alguna adición o eliminación que contenga la palabra "hola" (En este caso hubo una eliminación que contuvo la palabra "hola") y te va a listar en qué commit sucedió (En este caso en el segundo commit ya que fue ese commit el que eliminó la palabra "hola" y agregó la palabra "adiós")
Puedes hacer la prueba si quieres, es más, haz la prueba y dime si funciona así, yo estuve haciendo pruebas en un proyecto real y todo parece apuntar a que ahora funciona así.
De igual manera, te dejo el enlace a la documentación oficial de esto:
https://git-scm.com/docs/git-log#Documentation/git-log.txt--Sltstringgt