这个问题已经困扰我一段时间了,搜索也没有找到任何线索。
问题:
当我在一个包含Class
的PHP文件上执行git diff
时,每个差异块描述都只有类名,没有提到方法名。
例如:
@@ -351,7 +351,7 @@ class Session
$form->setError($field, $subpassValid['msg']);
}
// E-Mail address error checking
$field = "email"; //Use field name for email
- if(!isset($subemail) || strlen($subemail = trim($subemail)) == 0){
+ if(!$subemail || strlen($subemail = trim($subemail)) == 0){
$form->setError($field, "* Email not entered");
@@ -373,7 +373,7 @@ class Session
...
问题:
有没有办法告诉git
显示方法名称而不是/在类名旁边显示?
编辑:
附加信息:
diff version: 2.8.1
git version: 1.7.6 (from the git-core PPA)
OS: Ubuntu 9.10
我最初使用的是从Ubuntu存储库中获取的Git版本1.7.0.4,但后来更新了它,希望这是个bug。不幸的是,这没有解决问题。
Edit2:
经过更多测试,看起来如果函数声明缩进了(无论是用空格还是制表符),git diff
都无法识别函数名。这似乎是git
中的一个bug。
git diff session.php
(从中取得示例)或git diff master
或只是git diff --staged
时,它就会发生。 - Tarek Fadel