Is there a good way to use git to identify all the modified functions in each revision in the history? I've tried using the -p switch, but it doesn't seem to work in the same way that svn's show-c-function parameter works.
My assumption is that I'll want to use "git diff HEAD~i HEAD~i-1 -p" for increasing values of i. Am I missing some parameters that will help identify diff's best guess on the functions that were modified?
Here's a quick and dirty attempt at what I think you're going for. It does a git log
to show all revisions, -p
to include the diff in the log, a grep
to only include the lines containing the commit ID and the hunk headers, and uses sed
to filter out the line numbers, leaving only the guess at the function name that Git writes after the hunk header.
git log -p | grep -E '^(commit|@@)' | sed 's/@@.*@@//'