I want to find commits that introduced added a "TODO" or "FIXME" comment and order them by date.
I know that git log -G'TODO|FIXME'
will show me commits that contain either comment and I could do something like
git log --format='%ci' -G'TODO|FIXME' | cut -d' ' -f 1
But this will not respect that it should only be commits introducing such comments.
Does anyone know how I can find only commits introducing such comments and order them by date? If the actual SHA-1 was included in that list, that would be even more awesome.
This should get you closer. It isn't clear what you mean by "order them by date". Personally I would probably ignore the actual dates and do reverse topo order.
Note - This will match commits that introduce or remove instances of the string. If you only want commits that introduce you might need to script something.
git log --format='%H' --reverse --date-order -G'TODO|FIXME'
not entirely what you want but will do a lot for you