osx – 当使用Windows服务器和Mac代理程序使用服务器检出模式时,如何阻止TeamCity将符号链接转换成文件?

我们正在从CC/C++C.NET到TeamCity的组合.

我们的产品的核心是Windows,但我们有一个Mac代理.

我们的VCS检出模式设置为“自动在服务器上”.意思是将在(Windows)服务器上检出源,然后根据需要复制到代理(包括Mac代理).

我们的产品在其UI的一部分使用BWToolkit框架.这意味着我们将框架存储在我们的源代码控件中.

问题是TeamCity服务器的源代码复制了框架目录中的符号链接.这导致我们的产品无法构建(错误:BWToolkitFramework / BWToolkitFramework.h:没有这样的文件或目录).

这是根本框架目录里面的ls -l在我的机器上的样子:

total 24
lrwxr-xr-x  1 myuser  admin   35 Nov 22 10:45 BWToolkitFramework -> Versions/Current/BWToolkitFramework
lrwxr-xr-x  1 myuser  admin   24 Nov 22 10:45 Headers -> Versions/Current/Headers
lrwxr-xr-x  1 myuser  admin   26 Nov 22 10:45 Resources -> Versions/Current/Resources
drwxr-xr-x  5 myuser  admin  170 Nov 22 10:45 Versions

这就是构建机器的外观:

total 24
-rwxrwxr--  1 root  admin   40 Nov 19 16:21 BWToolkitFramework
-rwxrwxr--  1 root  admin   29 Nov 19 16:21 Headers
-rwxrwxr--  1 root  admin   31 Nov 19 16:21 Resources
drwxrwxr--  4 root  admin  136 Nov 19 16:21 Versions

此外,除了在构建机器上显示链接(图标上的小箭头叠加),它们显示为具有unix可执行文件文件.如果您打开这些文件之一应该是一个链接,你会得到类似于以下内容(这是从BWToolkitFramework链接):

link Versions/Current/BWToolkitFramework

这似乎是TeamCity中的服务器检出选项的一个问题,因为CruiseControl在同一台机器上运行,直接进行SVN检出,我没有任何问题.

有没有办法解决这个问题,而不是改变我们的TeamCity配置,以便在客户端选项上使用SVN checkout?

我将这个问题提交为 TW-14499,希望得到官方的回复/解决.

它刚被标记TW-5953 Symlinks are not supported for SVN server-side checkout的重复,所以这是一个已知的问题,已经开放了大约2年.如果有人遇到这个问题,请投票/评论这个问题,希望能够得到修正.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...