Git использует регулярное выражение, чтобы найти подходящую строку для заголовков блоков. Python встроен, но вы должны быть в состоянии определить свое собственное выражение в вашем ~ / .gitconfig:
[diff "python"]
xfuncname = "<regex goes here>"
Подробнее об этом здесь .
Редактировать : встроенное регулярное выражение Python, похоже, определено в userdiff.c (строка 53), хотя мое регулярное выражение недостаточно хорошо, чтобы действительно понять, что именно это делает ...
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]+"),
/* -- */