TFS 2010引入了将基本文件夹转换为分支的功能.该文档还提到"重新分支一个分支"(它不会出现在源代码管理浏览器上下文菜单中,但只能通过文件>源代码管理>分支和合并来访问...很难找到......)
假设我在源代码管理下有文件夹A和A2.A2在很久以前就已经被COPIED了,但它不是A的一个分支.它只是复制,添加到源代码控制和签到.由于它们未被声明为分支,因此A和A2之间没有合并操作的历史记录.
命令"转换为分支"和"Reparent分支"让我认为A和A2都可以从基本文件夹转换为分支,A可以配置为A2的父分支,从而使我能够使用所有多汁TFS 2010的分支功能.
我无法完成这件事.我将A和A2都转换为分支,但它们之间没有任何关系.在尝试"重新显示"A2时,我无法选择A作为父分支.
我怎样才能做到这一点?如果我想做的事情是不可能的,那么什么是"转换为分支"和"Reparent Branch"?
我的任务是立即更新我们的构建过程以提高效率,我花了一周的时间阅读最佳实践和策略,但我仍然没有找到解决当前问题的方法.
背景
目前我们有一个单片构建/应用程序,真正需要拆分为至少4个带有一些共享库的应用程序.我们目前不分支,除非我们绝对必须.我们有一个teamcity构建,建立在每个TFS登记的基础上.当我们准备好发布时,我们会冻结代码并且只针对QA中发现的错误进行检入.显然这是一种可怕的做法,我们终于得到了改变它的批准.
提出的解决方案
建议的解决方案是拆分应用程序,并为每个应用程序提供不同的发布周期,从每个版本的ant迁移到maven和branch.
分支 - 现在我们在源代码控制中只有一个主干.我想我们希望在准备发布时分支主干,并更新分支以查找QA中发现的错误.当构建准备好被释放时,将分支更改合并回主干.
以下是我计划设置TFS的方法.
+Apps
+App1
+Components
+Core
+Web
+Branches
+App2
+Components
+Core
+Web
+Branches
+Libraries
+Lib1
+Lib2
+Branches
Run Code Online (Sandbox Code Playgroud)
考虑管理POM中的所有POM和版本似乎现在太困难了.我已经阅读了maven发布插件,但我不确定它是否可以按照我想要的方式进行分支.
下一个问题是让团队工作.我想为每个应用程序提供3个teamcity项目.一个始终指向中继的开发项目,一个用于测试QA构建的QA项目和一个用于构建修补程序更改的生产项目.每次新版本发布到QA时,我都必须更新QA teamcity项目以指向新版本分支并更新teamcity中的版本内部版本号.当该版本通过QA时,我必须更新生产团队项目,以指出刚刚通过QA的分支并将构建号更新为刚刚通过QA的构建号.
当然,有一个更好的策略.
问题
我应该把这些分支文件夹放在哪里?
QA构建是否仍然是快照,直到构建进入预生产?
如何配置teamcity来获取这些分支而不更改每个版本的源路径?
是否应该为开发人员使用的每个应用程序创建父POM,以确保所有依赖项都已编译并保持最新?
我有三个VS解决方案:
人力资源解决方案
薪资解决方案
和一个主要网站(壳牌);
人力资源是一个解决方案,也是一个团队项目.
工资单是相同的,主网站(Shell)也是如此.
我需要的是在人力资源解决方案中引用(Shell)
还有薪资.
在TFS中有可能吗?如果是这样,如果我修改了人力资源解决方案中的Shell,修改是否会自动转移到薪资解决方案?