SVN 存储库中的 EOL 将其设置为 CRLF

EOL in SVN repository setting it to CRLF

我正在使用 polorion 工具将 CVS 存储库迁移到 Subversion。当我导入使用 svnadmin load 创建的转储时,.java 和 .txt 文件自动设置为 CRLF EOL。但是 XML 和 html 等保持为 LF。

要求是将所有这些EOL的文件设置为CRLF。我确实设置了 C:\Users\\AppData\Roaming\Subversion\config 以启用自动道具并设置 *.xml = svn:eol-style=native 甚至 *.xml = svn:eol-style=CRLF.

然而,当我尝试导入时,这并没有帮助。

我阅读了有关 RDC(存储库指定配置)的信息。所有支持材料和教程都解释了 propget。但是如何在存储库级别设置此 属性。

我可以将此 属性 设置为一次性的东西(仅用于转储文件导入)并在以后将其删除。所以当用户实际使用它时,我不需要强制执行此操作。

请帮忙。

我会绕过 git,因为我已经习惯了(事实上,我会坚持使用 git -- 我个人认为 大大优于SVN):

  • 安装git-svn 和git-cvs
  • 使用 git-cvs 导入您的 CVS 历史记录
  • 使用 sed,转换所有文件,然后 git commit
  • 使用 git-svn 将其推送到您的 SVN 存储库

编辑:我忘了您使用的是一个奇怪的开发操作系统,安装标准工具并不容易。根据我可以根据源代码猜测,但是msysgit should contain git-svn capabilities. I'm not so sure about git-cvsimport。使用安装了 git 的任何 linux(也许只使用 live DVD)和 git-cvsimport 可能是最简单的,所以你在 git 存储库,然后您可以在 windows 下 clone/use。

您真的应该阅读 git/CVS migration guide(别担心,不会很长)- 它解释了您在使用 CVS 时遗漏了什么。

另外,您说迁移到 SVN 是公司的决定。我可能会为此批评你们公司,但那是无济于事的。相反,我可能会指出,您可以通过在本地使用 git 来跟踪您自己的分支机构来保持完全符合公司规则,并且仅在内容为 "shareable" 时推送到公司 SVN 存储库。在 git 中,在 您的本地存储库 中启动一个分支是非常非常普遍的,您可以在其中开发新功能,或修复某个错误等,然后验证一切正常,然后将其合并回 你的 主开发分支,然后将其推送到远程存储库。 Git 通常会为您做所有事情。因此,即使您的同事在您处理功能分支时更改了主开发分支,您仍然可以轻松地将您的更改合并回该分支——老实说,SVN 在这方面要差得多,以至于通过将 git 历史记录准备为可 SVN 发布而获得的额外工作很容易抵消。

我见过 "prefer" SVN 超过 git,因为他们声称 git 是 "too complex"。真的,它不是。此外,决定员工必须在 2015 年使用 SVN 的人应该解决当两个人在同一分支上处理不同功能时 SVN 引起的冲突。

谢谢马库斯。经过艰苦的搜索,我找到了解决方案。 polotion 之前的 svi 导入器有一个 config.autoprops 文件夹。这具有在其中设置 eol 样式的选项。设置此项并创建 svn 转储解决了问题

Ps:回答这个问题以供我自己将来参考