我们一直在同时处理一些文件。有时,当我们“svn up”时,我们会看到某些文件的每一行都附加了“^M”。我们原本互相指责对方的编辑>_>。

此后,当存在冲突时,我们将其范围缩小为“svn up”。如果我们隔离冲突的文件和 svn 则不会出现“^M”。svn 日志/差异中没有出现“^M”。这很奇怪,对吧?

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

感谢您的阅读,感谢您的任何评论。

有帮助吗?

解决方案

当我遇到这种情况时:

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

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

其他提示

合并工具是否会添加这些行尾字符?

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top