为了清理我的项目结构,我通过TFS Power Tools Shell-Extension(重命名/移动)将文件夹移动到另一个(新)文件夹中.
在新地点检查历史记录后,移动是唯一的条目.(我向上,向下尝试了一个文件夹,甚至是移动文件夹中的单个文件..同样的结果.)
我还在移动之前在文件夹的版本上添加了一些标签,因为我想要回到的代码有一些重要的状态.
那么......出了什么问题,我怎么能得到历史记录,或者至少再找出标签名称并查看这些版本?
目前,我们的TFS(TFVC,而不是 git)项目包含一个托管我们整个产品的文件夹.该文件夹包含三个分支(Dev,Main和Release),每个分支又包含许多不同的子项目.我们正在尝试重组,以便不同的组件包含在它们自己的分支结构中.
问题:是否可以将分支(不是分支本身)下包含的文件夹及其他分支中的相应文件夹移动到新的 TFS项目中,同时保持任何未合并的变更集的关系和状态?
这是我们期望的最终结果的图表:
我们希望将每个"Project 1" 文件夹(左侧)移动到它们自己的分支结构(右侧),但我们需要任何未合并的更改集来"出现".也就是说,如果我们尝试在新结构中从Dev合并到Main,我们将看到一个未在旧结构中合并的(相关)变更集的列表.
这可能吗?如果是这样,我们需要用什么系列的tf/ tfvc命令来解决这个问题呢?我已经深入谷歌了,但是做得很短 - 或者因为我不知道如何用搜索友好的方式描述这个,或者它根本不可能.
我尝试过的:
直接将每个文件夹移动/重命名为新项目(预创建每个目标开发/主要/发布分支)
分支每个文件夹,进入新结构(此时无需预先创建目标分支文件夹)
tf merge /baseless /recursive)和冲突时获取目标分支文件来解决这个问题.然后重新教育分支机构.(至于解释这里)如果这很重要,我们愿意失去整体历史,如果这是解决这个问题的唯一方法.我们最好保留它,即使它意味着在某处存储原文的"已弃用"副本.我不太关心搁置"跟随"他们的来源......我们只有两个会受到影响,如果需要我们可以手动处理.我们正在使用本地TFS 2018.
编辑:响应已发布然后删除的答案:
我不打算移动分支,而是将其内部的文件夹提取到它们自己的相应分支结构中,而不会丢失挂起的更改.我只展示了两个级别,但实际上它们更深入.我能够tf rename在沙盒中的整个分支并获得预期的结果......但重命名分支不是我想要做的,并且移动文件夹会产生意想不到的结果.