Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将文件夹分支/复制/移动到不同的项目,并在TFS中保留历史记录?_Tfs_Visual Studio 2015 - Fatal编程技术网

如何将文件夹分支/复制/移动到不同的项目,并在TFS中保留历史记录?

如何将文件夹分支/复制/移动到不同的项目,并在TFS中保留历史记录?,tfs,visual-studio-2015,Tfs,Visual Studio 2015,我在项目a下有一个文件夹,我想在项目B下有一个文件夹,我想在项目B下保留文件夹历史记录 我真正想要的是,让Project A文件夹的当前状态分支到Project B下的开发分支,然后通过Project A文件夹的旧变更集创建快照,分支到Project B下的主分支。例如: $/TfsProjectA/MyProject-->分支到具有完整历史记录的$/TfsProjectB/MyProject/Dev 从那时起,如果我有完整的历史,我可以做 $/tfsprrojectb/MyProject/De

我在项目a下有一个文件夹,我想在项目B下有一个文件夹,我想在项目B下保留文件夹历史记录

我真正想要的是,让Project A文件夹的当前状态分支到Project B下的开发分支,然后通过Project A文件夹的旧变更集创建快照,分支到Project B下的主分支。例如:

$/TfsProjectA/MyProject
-->分支到具有完整历史记录的
$/TfsProjectB/MyProject/Dev
从那时起,如果我有完整的历史,我可以做
$/tfsprrojectb/MyProject/Dev
-->基于当前
$/tfsprrojectb/MyProject/Main
的早期版本分支到
$/tfsprrojectb/MyProject/Dev

这样的事情可能吗?不,不可能

分支/移动将丢失文件夹历史记录,但单个文件历史记录实际上并未丢失。它隐藏在文件历史记录行最左边的“ExpandMe”小箭头下。在文件的最旧历史记录条目上或任何您看到它的地方展开它,您也将从不再存在的旧位置看到该单个文件的历史记录

但是,合并更改集的分支是基于文件夹历史的例如
$/tfsprrojectb/MyProject/Dev
的第一个更改集将是从
$/tfsprrojecta/MyProject
分支的更改集XXX

您将无法选择较旧的
$/TfsProjectA/MyProject


解决方案

实现所需功能的一种方法是直接将
$/TfsProjectA/MyProject
与旧更改集合并为
$/TfsProjectB/MyProject/Main
,即使您会收到如下警告提示:

源和目标之间不存在合并关系。 将执行无基础的合并


谢谢你的确认。我在第一次尝试时确实遇到了无根据的合并,这是可行的,但每次我都必须手动更改目标分支,并希望避免它。我想我现在要做的是做一些毫无根据的合并,当我到了可以拍摄“新的”开发分支的快照并将其分支到一个“真正的”主分支时,我想从那时起事情应该会很愉快。