【问题标题】:TFS 2015 build server with git line endings带有 git 行结尾的 TFS 2015 构建服务器
【发布时间】:2016-07-18 09:50:32
【问题描述】:

我们使用带有 GIT 的 TFS 2015 和 Team Foundation Build 2015 作为构建定义。源代码在 C/C++ 中。 在构建服务器上,我遇到了行尾问题。

在开发人员 PC (Microsoft Windows 7) 上设置了 core.autocrlf=true。行尾总是 CRLF 没关系。

在构建服务器 (Microsoft Server 2012 R2) 上设置了相同的 core.autocrlf=true。如果我在命令行(git 版本 2.7.2.windows.1)上获取 Build Server 上的源代码,一切正常,并且所有源文件都以 CRLF 作为行尾。 但如果构建定义(例如,用于持续集成)获取源代码,则行尾始终为 LF。

问题: 在哪里可以为构建定义设置 core.autocrlf=true

【问题讨论】:

    标签: git tfs build


    【解决方案1】:

    我找到了问题和解决方案。

    core.autocrlf true 的设置适合​​我的环境。但是,当我登录以检查设置时,构建服务器以不同的用户启动构建。

    解决方案:确保构建服务器上的所有用户都具有相同的设置。 我将环境系统变量HOME 设置为目录C:\GitHome。在此目录中,文件.gitconfig 以正确的设置放置。 这适用于我的情况。

    【讨论】:

      【解决方案2】:

      假设您使用的是 vNext 构建。 Get Source 是一个自动步骤,我们无法设置或修改此步骤。

      快速测试一下,使用命令 git config --global core.autocrlf true 将 core.autocrlf 设置为 True。然后运行 ​​vNext build,源代码将检出到%agent%\_work\xx\s。之后,在这个工作文件夹下,运行命令git config --list,你会看到core.autocrlf=true。获取源步骤不会更改 core.autocrlf。你可以试试这种方式。

      This article 提供有关如何处理行尾的更多信息。

      【讨论】:

      • 正确,我正在使用 vNext 构建。很高兴知道我们无法在 Set Get Sources 步骤中更改任何内容。我将对core.autocrlf的设置做一些测试。
      猜你喜欢
      • 2018-05-12
      • 2015-08-12
      • 1970-01-01
      • 2016-11-03
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      相关资源
      最近更新 更多