我在TFS 2010中有一个带有以下工作区的自动构建:
$/Program 1 $(SourceDir)\Program 1
$/Core $(SourceDir)\Core
然后,我构建核心项目和程序1特定项目作为构建的一部分。但是,在为以前的版本进行错误修复时,我需要获取核心文件的特定标签,但是最新的程序1文件。如何仅通过标签更改Core目录的工作区,而不是获取最新的。
我知道我可以从Core文件夹的标签创建一个分支,但由于错误修复仅在Program 1文件中,我不想创建一个没有更改的新分支。
答案 0 :(得分:1)
所以你有一个从不同的TeamProjects导入代码的解决方案。
这不是一个最佳的设置,一个更灵活的替代方案可能如下:
$/Program1
/SharedSources
/Core_branch
Core.csproj
/Sources
/Program1
Program1.csproj
/Program2
Program2.csproj
Sources.sln
如果您已经设置了类似的SCM结构,则只需在构建定义中定义以下内容:
$/Program1 $(SourceDir)
因此,如果您在Program1
的过去版本上遇到问题,则可以继续使用修补程序分支,而不是面对当前的挑战。一般TFS分支的优秀资源&可以找到源代码管理中的解决方案形成here。
在您的具体问题“如何更改Core目录的工作区以通过标签获取而不是获取最新信息。”:在您自己的工作站/工作区中,您可以获得过去的版本和放大器;然后使用Cloak从以下GetLatest中排除Core
。这可以让您进行分析,甚至可以创建包含Program1
内修改任何错误的更改的搁置集。
但是,因为隐藏在构建期间不可用(请参阅here以获取有趣的帖子) ,我相信你最终被迫继续分支,以便修复你的修复。