Ответ 1
Git использует регулярное выражение для поиска подходящей строки для заголовков hunk. Python встроен, но вы должны иметь возможность определять свое собственное выражение в ~/.gitconfig:
[diff "python"]
xfuncname = "<regex goes here>"
Подробнее об этом здесь.
Изменить. Встроенное регулярное выражение python, по-видимому, определено в userdiff.c (строка 53), хотя мое regex-fu недостаточно хорош, чтобы реально понять, что он делает...
PATTERNS("python", "^[ \t]*((class|def)[ \t].*)$",
/* -- */
"[a-zA-Z_][a-zA-Z0-9_]*"
"|[-+0-9.e]+[jJlL]?|0[xX]?[0-9a-fA-F]+[lL]?"
"|[-+*/<>%&^|=!]=|//=?|<<=?|>>=?|\\*\\*=?"
"|[^[:space:]|[\x80-\xff]+"),
/* -- */