【问题标题】:svn diff: file marked as binary typesvn diff:标记为二进制类型的文件
【发布时间】:2010-04-14 00:03:25
【问题描述】:

我正在对我的一个文件执行svn diff,并且 svn 将其检测为二进制类型。该文件是可读的纯文本,我希望能够获得该文件的差异。如何告诉 SVN 这不是二进制文件?

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

【问题讨论】:

    标签: svn file-type


    【解决方案1】:

    您甚至可以使用--force 获取标记为二进制文件的差异。

    svn diff --force path/to/file

    【讨论】:

    • 这对于诸如 application/json 之类的东西来说是一个更好的答案
    • @BrettZamir 但这几乎可以用任何有输出的东西来完成。
    • @entonio :是的,我知道......只是想我应该指出它,因为我使用 GUI 客户端遇到了这个错误,并且据我所知我无法在其中解决,想也许其他不经常使用命令行的人可以知道这一点。
    【解决方案2】:

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

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

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

    svn propdel svn:mime-type path/to/file

    【讨论】:

    • 但是为什么它首先被标记为二进制?我的许多源文件都有同样的问题,每次都删除属性很痛苦。
    • 听起来你应该问另一个问题......也许在这里添加一个链接。
    • 当有人从 svn 签出新副本时,这(更改文件的 mime 类型)是否会改变文件的执行方式?在这种情况下,我认为仅使用 --force 选项来查看差异更有意义。
    • @Rishi,不,它没有;有一个单独的“svn:executable”属性确定文件是否应该具有可执行权限位。
    猜你喜欢
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    相关资源
    最近更新 更多