svn - 为什么 `svn blame Foo.cs` 返回的所有行都是空白的?

标签 svn properties binary

我的 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/

相关文章:

java - 使用 svnkit 即时更改 svn 文件属性

svn - 如果只有一个人在做一个项目,你应该在 subversion 中使用分支吗?

Javascript 函数作为对象属性返回

linux - 如何在 Bash 中进行内存中的二进制搜索?

c - 两个二进制数异或的问题

php - 使用 Composer 添加包(通过 SVN)

linux - 配置SVN通过TOR代理

javascript - 使用函数作为对象属性

grails - 没有使用grails应用程序中的classpath属性文件

algorithm - 范围内整数的补码二进制表示中 1 的个数