如何删除文件上的 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 存储库之间复制保留属性但不保留历史记录