Version control 如何在teamcity v8.1.5中指定vcs根签出的顺序

Version control 如何在teamcity v8.1.5中指定vcs根签出的顺序,version-control,teamcity,vcs-checkout,Version Control,Teamcity,Vcs Checkout,我使用的是teamcity v8.1.5。我在网上的某个地方读到,我以为vcs根目录是根据它们在版本控制设置中列出的顺序签出的,但事实并非如此 e、 g。 版本控制设置的vcs根目录如下所示: a b c 当我运行构建配置时,构建日志将签出显示为: c b a 然后我拆下一个,将其重新连接回去,这样列表就变为 b c a 但是,运行另一个干净的签出仍然会按照原来的顺序进行 c b a 是否有一些内部逻辑决定vcs根签出的顺序以及如何配置该顺序 谢谢 我为什么需要这个 我在一个有多个项目repo的

我使用的是teamcity v8.1.5。我在网上的某个地方读到,我以为vcs根目录是根据它们在版本控制设置中列出的顺序签出的,但事实并非如此

e、 g。 版本控制设置的vcs根目录如下所示:

a

b

c

当我运行构建配置时,构建日志将签出显示为:

c

b

a

然后我拆下一个,将其重新连接回去,这样列表就变为

b

c

a

但是,运行另一个干净的签出仍然会按照原来的顺序进行

c

b

a

是否有一些内部逻辑决定vcs根签出的顺序以及如何配置该顺序

谢谢

我为什么需要这个

我在一个有多个项目repo的环境中工作,这样一个项目需要另一个项目的源(签出到同一目录中)来构建。复杂的部分是,两个回购协议中都存在具有相同路径/名称的某些文件,在某些情况下,项目将使用自己的文件,而在另一种情况下,项目需要其他回购协议(从而定义了在第二次回购签出时是否替换签出文件的特定顺序)。重叠的文件不是实际的源代码,而是build/config文件,因此将它们重命名为其他文件没有意义

我很清楚这不是一个好的实践,但这是我继承的,首要任务是在重构源结构之前让它们进行构建

解决方法

我现在正在解决这个问题,通过改进上一次vcs签出的签出规则来忽略特定的文件,这样当我不希望它替换文件时,它就不会替换这些文件。 通过风投退房的顺序简单地控制这一点仍然是有帮助的


谢谢

我会使用结帐规则,这样每个回购协议都可以独立保存在自己的文件夹中,而不会与其他回购协议内容重叠

对于回购A VCS根目录:

+:.=>A

对于回购B VCS根目录:

+:.=>B

对于回购C VCS根目录:

+:.=>C

即:

%system.teamcity.build.checkoutDir%/A

%system.teamcity.build.checkoutDir%/B


%system.teamcity.build.checkoutDir%/C

没有关于签出顺序的保证。请您提供更多信息,说明您为什么需要特定订单?“我在某处在线阅读”-您可能误读了;如果有这个链接,看看作者的意思,那就好了。我编辑了我的问题,关于我为什么需要这个以及我目前的解决方法@斯弗伦西克:对不起,我没有实际的链接,这只是我刚才读过的东西,当时它不是我需要的,所以我没有麻烦保存它。这可能是误读或不正确的印象,改写了我最初的评论。我认为你的解决办法是合理的。我怀疑你能找到更好的解决办法。