我的 Subversion 存储库中有一个名为“Foo.cs”的文件。当我运行命令时 svn blame Foo.cs
输出如下所示:
1000 dave
1000 dave
2000 dave
2000 dave
9999 dave
1000 dave
9999 dave
我唯一能想到的是,从 1000-9000 版本开始,Foo.cs 将“svn:mime-type”属性设置为“application/octet-stream”。但是,由于 r9000 Foo.cs 没有这样的属性,因为它是(并且一直是)文本文件。
另外,我已经尝试使用
svn blame Foo.cs --force
没有成功。有谁知道如何解决这个问题?
编辑:在 r1000 处,历史记录被截断(
svn log Foo.cs
不报告比这更早的任何内容),因为分支是手动移动到存储库中的不同位置而不是使用 svn mv
.但是,很难想象这是问题的原因,因为svn blame
适用于 repo 中的所有其他文件。
最佳答案
The only thing that I can think of is that from revisions 1000-9000, Foo.cs had the "svn:mime-type" property set to "application/octet-stream". However, since r9000 Foo.cs has no such property since it is (and always has been) a text file.
我想这就是你的答案。使用 Subversion 1.6 进行试验,任何时候我都有历史修订版
svn:mime-type
设置为 application/octet-stream
, 我得到 Skipping binary file
来自 svn blame
.颠覆 may have set the property automatically , 如果它检测到文件具有非文本内容。
我想不出一个好的答案来解决这个问题。您可以再次删除并重新添加文件。这将截断历史记录,但至少
svn blame
将适用于较新的修订版。
关于svn - 为什么 `svn blame Foo.cs` 返回的所有行都是空白的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2343838/