2009-09-09 95 views
3

我们一直在研究一些文件。偶尔,当我们“svn up”时,我们会看到带有“^ M”的文件被附加到某些文件的每一行。我们最初指责对方的编辑> _>。SVN Update在冲突时添加^ M?

当冲突存在时,我们已经将其缩小到“svn up”。如果我们隔离冲突的文件和svn,则不会出现“^ M”。没有“^ M”出现在svn log/diff中。它完全奇怪,对吧?

希望有人可能以前见过这种情况并知道解决方法。 IDK,它可能无法在其他人的设置中重现。如果有帮助,我们使用Subversion 1.4.4。

感谢您的阅读,我很欣赏任何评论。

+0

一些svns将标记显示出冲突发生的地方......它很烦人 – Daniel 2009-09-09 20:47:46

回答

2

这发生在我身上的时候:

  • 我在Windows上使用Subversion的
  • 我用Vim

当Subversion增加了冲突标志(在Windows上),它增加了他们与CRLF行结尾,无论文件的其余部分是否只是LF行尾。当我将冲突的文件加载到Vim中时,它不能自动确定行结束样式,因此它仅假定LF,并在每个标记冲突行末尾显示“^ M”。在解决冲突之前,我一定要编辑其中的任何一个(所以我的文件在这个例子中有所有的LF行尾)。

2

难道合并工具会添加那些行尾字符?

另一件可能有用的事情是将svn:eol-style属性设置为本地项目中的文件。