(git版本1.6.5.7)
当我运行git diff时,输出在我的Python脚本的行号之后有一个很好的范围提示,例如:
diff --git a/file.py b/file.py
index 024f5bb..c3b5c56 100644
--- a/file.py
+++ b/file.py
@@ -14,6 +14,8 @@ TITF: Test Infrastructure Tags Format
...
@@ -1507,13 +1533,16 @@ class Tags( object ):
...注意,行号后面跟着TITF: Test Infrastructure Tags Format和class Tags( object ):。第一个补丁适用于模块范围,描述TITF: Test Infrastructure Tags Format是模块的描述。第二个补丁应用于Tags类的一个方法。
发布于 2010-05-06 17:41:15
Git使用一个正则表达式来为主标头找到一个合适的行。Python是内置的,但是您应该能够在~/..gitconfig中定义自己的表达式:
[diff "python"]
xfuncname = "<regex goes here>"关于这个这里的更多信息。
编辑:内置的python似乎是在userdiff.c中定义的(第53行),尽管我的regex还不足以真正理解它所做的事情.
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]+"),
/* -- */https://stackoverflow.com/questions/2783086
复制相似问题