TFS:在签入时应用标签?

TFS:在签入时应用标签?,tfs,labels,checkin,Tfs,Labels,Checkin,我正在评估TFS作为公司的替代源代码管理选项,并记录我们当前的流程在开始使用它时将如何改变或保持不变 我们在当前产品中大量使用标签,不仅用于创建给定构建的快照,还用于针对未来构建的特定修改。我们的标准是总是在每个文件中签入一个其预期发布版本的标签 我们当前的软件在签入屏幕上有一个“标签”选项,因此签入/标签是一个单步过程。有没有办法用TFS实现这一点?我知道您可以打开源代码管理资源管理器并在事件发生后为其添加标签,但如果用户必须在事件发生后四处单击以找到要添加标签的正确更改集,我希望确保记录这一

我正在评估TFS作为公司的替代源代码管理选项,并记录我们当前的流程在开始使用它时将如何改变或保持不变

我们在当前产品中大量使用标签,不仅用于创建给定构建的快照,还用于针对未来构建的特定修改。我们的标准是总是在每个文件中签入一个其预期发布版本的标签


我们当前的软件在签入屏幕上有一个“标签”选项,因此签入/标签是一个单步过程。有没有办法用TFS实现这一点?我知道您可以打开源代码管理资源管理器并在事件发生后为其添加标签,但如果用户必须在事件发生后四处单击以找到要添加标签的正确更改集,我希望确保记录这一点…

我不知道如何自动为每个签入添加标签,但我想到了几个选项

  • 您可以设置一个必须填写的文本字段列表(在“挂起的更改”对话框的“签入注释”部分),甚至可以强制设置这些字段,这样就可以很容易地为每个签入添加“for version”注释。IIRC这是通过在团队资源管理器中右键单击团队项目并转到源代码管理选项来设置的

  • TFS为诸如签入之类的操作引发事件,因此您可以使用TFS api在服务器上处理事件并自动添加标签。您甚至可以拿起签入说明来告诉代码标签应该是什么


这可能是您需要更改当前流程的地方。对于TFS(或其他版本控制系统),针对特定版本的所有开发人员都应该使用TFS中的同一分支,也就是说,每个并行开发流都有一个专用分支。因此,减少了对标签的需要。这是一种比使用标签好得多的方法,因为您可以查看分支并查看该版本中将出现什么,而无需筛选标签以查看特定更改是否适用于该版本


我建议您看看。

这些“目标发布”标签是如何在您的流程中使用的?我可以看到一些可能的替代方案,但首先需要知道这一点。可能最容易举个例子:1.22正在生产中。我们开始开发1.23。此时,项目中的所有文件都标记为1.23。在签入更改时,该标签会被放大,以便任何人都可以在1.23上执行“get”并编译。随着1.23的交付日期越来越近,一些任务会被推迟到1.24。因此,所有1.23项也标记为1.24。最终的目标是抓取一个给定的发布并编译w/o fuss。看起来分支/合并是我完成类似任务所需要的,但如果您有其他建议,欢迎提供。:)我明白你使用标签而不必“弄乱”分支的意思。如果目的更多的是文档/报告类型,我会建议将工作项与必填项关联,然后将发布字段添加到您将使用的WI中。但是现在这并不能解决您的问题,所以我建议按照下面ShellShock的答案,使用指南中适合您需要的分支场景。您必须调整流程,并在适当的时间点创建发布分支。