svn diff:文件标记为二进制类型


82

我正在svn diff对我的文件之一进行处理,而svn将其检测为二进制类型。该文件是可读的纯文本,我希望能够与该文件进行比较。如何告诉SVN这不是二进制文件?

Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Answers:


81

您可以使用Subversion属性svn:mime-type在文件上设置显式mimetype:

svn propset svn:mime-type'text / plain'path / to / file

另外,您可以使用以下方法删除此属性(因为Subversion假定为纯文本,否则):

svn propdel svn:mime类型的路径/到/文件

4
但是为什么首先将它标记为二进制?我的许多源文件都存在相同的问题,每次删除属性都是一件痛苦的事情。
angularsen,2011年

听起来您应该问另一个问题……并可能在此处添加链接。
埃里克·威尔逊


当有人从svn中签出新副本时,这(更改文件的mime类型)是否会改变文件的执行方式?在这种情况下,我认为仅使用--force选项查看差异会更有意义。
Rishi 2014年

@Rishi,不,不是。有一个单独的“ svn:executable”属性,该属性确定文件是否应具有可执行权限位。
Michael Aaron Safyan

114

通过使用,即使对于标记为二进制的文件,也可以获得diff --force

svn diff --force path/to/file


5
对于诸如application / json之类的东西,这是一个更好的答案
Steven R. Loomis

2
@BrettZamir,但是几乎可以使用任何具有输出的内容来完成。
entonio

1
@entonio:是的,我知道...只是以为我应该指出这一点,因为我使用GUI客户端遇到此错误,并且据我所知我无法在其中解决问题,以为也许其他不经常使用的人命令行可以被告知。
Brett Zamir 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.