我正在尝试为 Python 自定义 git diff hunk 标头。我目前正在使用此处定义的“python”正则表达式模式:https ://github.com/git/git/blob/6d2f208c3dd39493f4d45ea67c55a1b7fe06626a/userdiff.c
hunk 标头似乎能够正确显示大部分发生更改的类或函数。但是,当我在函数定义之后对几行进行更改时,问题就出现了,如下面的 func2.
def func1():
print('hello')
def func2():
#some change here
print('bye')
对于这个改变,我的大块头看起来像
@@ -k,l +m,n @@ def func1():
因此,即使更改发生在 func2 中,hunk 标头也错误地指示它发生在 func1 中。有没有办法改变正则表达式模式,以便大块头显示正确的功能?我认为这可能与 git diff 上下文的长度有关。现在要更改为单行,标题中由字母“l”和“n”指示的空格显示 7,这意味着 git diff 显示 7 行。如何更改大块标题中的字母 k、l、m、n 并自定义 git diff 上下文的长度?