【发布时间】:2015-01-13 13:10:55
【问题描述】:
我在SVN中有以下结构
Code
|- DEV-BusinessLayer
|- DEV-DataModel
|- DEV-Engine
|- Dev-Main
|- src
|-BusinessLayer
|-DataModel
|-Engine
|-Engine.sln
|- lib
在构建解决方案文件之前,我需要 SVN 将我在 DEV-Main 中的 Engine、BusinessLayer 和 Datamodel 子目录切换到 DEV-ENgine、DEV-BusinessLayer 和 DEV-DataModel。这个想法是,如果我切换,我正在开发分支上工作,如果我不切换,我在主分支上。请注意,只有一个解决方案文件。
我正在尝试在 TeamCity 中添加以下签出规则,但签出的文件不是来自正确的分支(我登录到 teamcity 服务器,获取文件并与我的手动签出进行比较)。令人不安的是,随机它是正确的版本。这些是我的结帐规则,我应该更改什么以确保正确结帐?
+:Code/DEV-BusinessLayer=>./src/BusinessLayer
+:Code/DEV-DataModel=>./src/DataModel
+:Code/DEV-Engine=>./src/Engine
+:Code/DEV-Main/src=>./src
+:Code/DEV-Main/lib=>./lib
这是我在构建日志中看到的,我怀疑 src\ 文件夹多次出现。 DEV-* 文件夹是否会以某种方式被覆盖?
[18:20:00][Updating sources] Removing C:\BuildAgent\work\6148493fca83a584
[18:20:00][Updating sources] Updating C:\BuildAgent\work\6148493fca83a584\src\BusinessLayer
[18:20:00][Updating sources] Updating C:\BuildAgent\work\6148493fca83a584\src\DataModel
[18:20:00][Updating sources] Updating C:\BuildAgent\work\6148493fca83a584\src\Engine
[18:20:01][Updating sources] Updating C:\BuildAgent\work\6148493fca83a584\lib
[18:20:04][Updating sources] Updating C:\BuildAgent\work\6148493fca83a584\src
[18:20:04][Updating sources] Updating C:\BuildAgent\work\6148493fca83a584\src\Engine
[18:20:04][Updating sources] Updating C:\BuildAgent\work\6148493fca83a584\src
[18:20:04][Updating sources] Updating C:\BuildAgent\work\6148493fca83a584\src\BusinessLayer
[18:20:05][Updating sources] Updating C:\BuildAgent\work\6148493fca83a584\src
更新 1:documentation 表示“对于每个文件,如果包含该文件,则将应用最具体的规则,无论规则以何种顺序列出。”那么如果我整体说DEV-Main/src,然后还指定src/Engine,应该选第二个吧?
更新 2:SVN 外部是否引用这种替换目录?我是否应该设置这些文件夹的属性以使它们成为 SVN 外部?
【问题讨论】: