如何删除文件上的 svn:eol-style 属性

Posted

技术标签:

【中文标题】如何删除文件上的 svn:eol-style 属性【英文标题】:how to remove svn:eol-style propety on a file 【发布时间】:2017-04-15 12:36:13 【问题描述】:

如果在文件上设置了 svn:eol-style 属性,当我使用 vimdiff 作为 diff-cmd 工具时,我会看到临时文件。

这是由于 Windows 用户在其 svn 配置文件中使用 auto prop enable 设置属性而设置的。我问他,他同意了。 但是,这不会删除已设置属性的文件的 svn-eol 关键字属性。

但是现在,问题是: -- 对于已经设置了 svn-eol 关键字属性的文件,如何删除它? --另外,我如何在存储库级别强制执行 svn-eol 关键字属性从不设置?

【问题讨论】:

【参考方案1】:

删除属性

您可以使用propdel 子命令删除属性:

$ svn help propdel

propdel (pdel, pd):从文件、目录或修订中删除属性。

 usage: 1. propdel PROPNAME [PATH...]
        2. propdel PROPNAME --revprop -r REV [TARGET]
    删除工作副本中的版本化道具。 在 repos 修订中删除未版本化的远程属性。 TARGET 仅确定要访问的存储库。

获取属性

这就是 propget 子命令的用途:

$ svn help propget

propget (pget, pg):打印文件、目录或修订版的属性值。

 usage: 1. propget PROPNAME [TARGET[@REV]...]
        2. propget PROPNAME --revprop -r REV [TARGET]
    打印版本化的道具。如果指定,REV 确定在哪个 修订首先查找目标。 在 repos 修订上打印未版本化的远程 prop。 TARGET 仅确定要访问的存储库。

禁止设置属性

我认为,您不能真正通过设置 something 来像存储库上的属性一样进行操作,但据说您应该能够使用 a pre-commit hook 武装服务器上的存储库,即一个脚本(或实际上任何其他类型的可执行程序),它对要提交的更改执行必要的检查,如果它检测到开发人员设法在其中一个文件上设置了 svn:eol-style 属性,则提交失败,并试图提交此更改。

我不知道如何准确地实施这项检查,但假设给出了上面的指针,你应该能够解决这个问题。

【讨论】:

以上是关于如何删除文件上的 svn:eol-style 属性的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Subversion 存储库之间复制保留属性但不保留历史记录

删除FTP服务器上的文件

如何从 C++ 中删除属性上的 QML 绑定?

从目录中删除只读属性

电脑上的文件删除不了,需要来自administrators的权限

debian桌面上的计算机、主文件夹、回收站如何去除