Visual studio 在TFS中执行分支时复制源代码管理历史记录,然后删除中继

Visual studio 在TFS中执行分支时复制源代码管理历史记录,然后删除中继,visual-studio,version-control,tfs,branch,Visual Studio,Version Control,Tfs,Branch,我有一个TFS项目,它应该是另一个项目下的文件夹,所以我想移动源代码管理历史记录(我们不在这个项目中使用TFS的其他功能,所以我不关心项目站点)。我已将代码分支到新位置,并准备删除原始项目 处理分支后明显缺少的历史记录TFS特性,但由于我正在删除主干文件夹,此变通功能将中断,并且我将完全丢失分支前的源历史记录 还有谁有更好的办法让我保留历史?我最希望保留以前构建的能力,如果我从源代码管理中删除trunk文件夹,我将失去这种能力,这是不可接受的。谢谢你的帮助

我有一个TFS项目,它应该是另一个项目下的文件夹,所以我想移动源代码管理历史记录(我们不在这个项目中使用TFS的其他功能,所以我不关心项目站点)。我已将代码分支到新位置,并准备删除原始项目

处理分支后明显缺少的历史记录TFS特性,但由于我正在删除主干文件夹,此变通功能将中断,并且我将完全丢失分支前的源历史记录


还有谁有更好的办法让我保留历史?我最希望保留以前构建的能力,如果我从源代码管理中删除trunk文件夹,我将失去这种能力,这是不可接受的。谢谢你的帮助 我的建议是使用移动(又名重命名)功能。所有的历史都将被保存在原处。您仍然可以通过同步回适当的版本在另一个项目中重新创建旧版本


如果您决定进行分支,是否删除原始源并不重要。TFS中的任何内容都不会被真正删除,只是被置于“已删除状态”。历史记录(包括合并历史记录)的工作原理相同。(除非同时使用Destroy命令。即使这样,也可以选择删除文件内容和差异,但保留历史元数据。)

我的建议是使用移动(又称重命名)功能。所有的历史都将被保存在原处。您仍然可以通过同步回适当的版本在另一个项目中重新创建旧版本


如果您决定进行分支,是否删除原始源并不重要。TFS中的任何内容都不会被真正删除,只是被置于“已删除状态”。历史记录(包括合并历史记录)的工作原理相同。(除非同时使用Destroy命令。即使这样,也可以选择删除文件内容&diff,但保留历史元数据。)

这是我考虑过的一个选项,但我也希望避免将来有人编辑源代码的风险,因为这是一个非活动副本。虽然我可以让每个人都隐藏它,但我更喜欢直接解决方案,而不是变通方法。这是我考虑过的一个选项,但我也希望避免将来有人编辑源代码的风险,因为这是一个非活动副本。虽然我可以让每个人都隐藏它,但我更喜欢直接的解决方案,而不是解决方法。我希望不会删除任何内容,但似乎当您删除团队项目时,它实际上会破坏该项目的源历史记录(请参阅“TFSDeleteProject如何工作”下的“版本控制”)。既然如此,我将永远无法在分支之前重新创建任何构建。我将查看移动选项-我没有考虑到这一点,尽管我不确定它是否能跨项目工作。我只是尝试了“移动”,它实现了我预期的效果,即使跨项目,源历史记录也会保留下来。我会留下问题选项,看看是否有其他解决方案,但如果没有,我会接受你的。谢谢你的帮助!很高兴听到搬家成功了。不过,关于TFSDelete项目的观点很好。让它执行销毁是一个相对较新的变化。如果您不需要使用相同的名称创建另一个项目——特别是如果您预期有一天可能需要重新访问旧的工件——您可能不需要运行该命令。只需删除每个人对该项目的通用读取权限(或除管理员外的所有人等),就没有人能够看到或操纵它,而不会做任何破坏性的事情。撤销权限会起作用-称我为anal,但我更高兴旧项目真的消失了,特别是因为我已经完全迁移了源代码管理历史记录。我希望不会删除任何内容,但似乎当您删除团队项目时,它实际上会破坏该项目的源代码历史记录(请参阅“TFSDeleteProject如何工作”下的“版本控制”)。既然如此,我将永远无法在分支之前重新创建任何构建。我将查看移动选项-我没有考虑到这一点,尽管我不确定它是否能跨项目工作。我只是尝试了“移动”,它实现了我预期的效果,即使跨项目,源历史记录也会保留下来。我会留下问题选项,看看是否有其他解决方案,但如果没有,我会接受你的。谢谢你的帮助!很高兴听到搬家成功了。不过,关于TFSDelete项目的观点很好。让它执行销毁是一个相对较新的变化。如果您不需要使用相同的名称创建另一个项目——特别是如果您预期有一天可能需要重新访问旧的工件——您可能不需要运行该命令。只需删除每个人对该项目的通用读取权限(或除管理员外的所有人等),就没有人能够看到或操纵它,而不会做任何破坏性的事情。撤销权限会起作用-称我为anal,但我更高兴旧项目真的消失了,特别是我已经完全迁移了源代码管理历史。