【问题标题】:Checking out a Linux-based subversion project into Windows and line endings将基于 Linux 的颠覆项目检出到 Windows 和行尾
【发布时间】:2011-01-29 13:56:28
【问题描述】:

我正在合作开发一个托管在 Linux 服务器上的 Subversion 存储库中的项目。我的电脑运行 Windows XP。我在我的 Windows XP 机器上使用 CollabNet 的 Windows Subversion 命令行客户端。

当我在 Windows 机器上编辑文件然后执行 svn update 时,我遇到了行尾 (EOL) 问题。 Subversion 认为只有在行尾之间存在差异时才会存在差异。

我知道这可以通过 eol-style 属性解决,但我不清楚如何进行:

  1. eol-style 应该使用什么设置?
  2. 我是在 Linux 端还是 Windows 端进行此属性设置?

【问题讨论】:

    标签: svn eol


    【解决方案1】:

    您可能应该使用svn:eol-style= native。这意味着它会在 Windows 上将 LF 转换为 CRLF,并在 linux 上保留 LF。设置属性的系统无关紧要。

    另见svnbook

    【讨论】:

    • 在我的 Windows 机器上,我将以下内容添加到我的全局配置文件中:将 enable-auto-props 设置为 true 后,* = svn:eol-style=native。但是当我在 Windows 机器上进行 svn 更新时,我仍然看到文件不同。当我选择e 选项来编辑文件时,我看到远程文件在每一行的末尾都有一个^M。我做错了什么?
    • enable-auto-props 仅适用于新文件,因此在 svn add 生成新文件时会使用它。对于已有文件,需要手动设置属性
    【解决方案2】:

    要手动将提到的属性附加到一组现有文件,请运行“svn propset”命令(假设您有命令行客户端)。 例如,要将属性附加到所有 cpp 文件,请运行:

    svn propset -R svn:eol-style native *.cpp

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-09
      相关资源
      最近更新 更多