对于选项" Selected Changesets"

时间:2016-04-20 20:50:18

标签: visual-studio tfs

使用Visual Studio和TFS(版本是2015年,虽然我相信这个问题在所有版本中),并且您希望将选定的变更集从一个分支合并到另一个分支时,“合并”对话框可能需要很长时间才能完成出现。

在研究这个问题时,我在名为prc_PendMerge的Tfs_DefaultCollection数据库中找到了一个存储过程,该过程被调用以检索Merge对话框的项目。在我们的例子中,这将从tbl_Version表返回大约150万行,资源包括1500万次SQL读取,超过100,000个CPU,持续时间大约需要3分钟。

我发现tbl_Version中95%的行都是针对文件 AssemblyInfo.xx 。我们使用TFS自动构建我们的解决方案,该解决方案由大约300个项目组成,具有自动版本增量。因此,每个构建都会向tbl_Version表添加300行。

作为测试,我对prc_PendMerge进行了直接修改以排除这些文件,并且能够将Merge对话时间减少到大约10秒。但是,这可能不是解决此问题的正确方法,所以我希望看看是否有更好的路线。

有没有办法截断所有这些AssemblyInfo.xx文件的版本历史记录,只留下当前版本?我希望tf.exe实用程序可能有某种/ truncatehistory命令,但我找不到。

此外,我知道可以通过在单个子文件夹上执行合并来加快速度。但是,这并没有什么帮助,因为我通常必须同时合并覆盖多个子文件夹的变更集。

0 个答案:

没有答案