转到svn更改了新行

时间:2012-01-19 12:03:45

标签: svn cvs newline

我们刚刚将我们的cvs repo迁移到了collabnet svn,现在所有文件似乎都有\ n而不是\ r \ n

有没有办法改变这个?我担心这可能会在我们的应用程序中引入微妙的错误。

我们在visual studio中使用ankhsvn Client。

3 个答案:

答案 0 :(得分:2)

您可以在subversion中为源代码指定eol-style

svn propset svn:eol-style native <path-to-source-file>

native除了{{1}}之外还有其他选项。来自svnbook

  • 天然

      

    这会导致文件包含原生的EOL标记   运行Subversion的操作系统。换句话说,如果一个   Windows计算机上的用户检出包含a的工作副本   将svn:eol-style属性设置为native的文件,该文件将   包含CRLF EOL标记。检查工作副本的Unix用户   其中包含相同文件的人将在其副本中看到LF EOL标记   文件。请注意,Subversion实际上会将文件存储在   存储库使用标准化的LF EOL标记,无论操作如何   系统。不过,这对用户来说基本上是透明的。

  • CRLF

      

    这会导致文件包含EOL标记的CRLF序列,   无论使用何种操作系统。

  • LF

      

    这会导致文件包含EOL标记的LF字符,   无论使用何种操作系统。

  • CR

      

    这会导致文件包含EOL标记的CR字符,   无论使用何种操作系统。这一行结束风格是   不太常见。它用于较旧的Macintosh平台(在其上   Subversion甚至没有运行。)

答案 1 :(得分:1)

每个客户端全局你可以在配置文件中定义一些自动属性(适用于所有工作副本),svn:eol-style是一个很好的候选者

[auto-props]部分,请参阅默认文件中的注释

# *.c = svn:eol-style=native
# *.cpp = svn:eol-style=native

答案 2 :(得分:0)

我相信cvs可能已经保存了\n的所有文件,我们的visual studio cvs插件正在更改为\r\n所以当我进行转换时我应该使用--default-eol=CRLF选项

似乎我们转换为\r\n的文件并提交\r\n,这很棒。我可能只需要结帐,更改所有内容并重新提交。