【问题标题】:How to branch/copy/move folder to different projects and keep history in TFS?如何将文件夹分支/复制/移动到不同的项目并在 TFS 中保留历史记录?
【发布时间】:2016-07-19 20:20:40
【问题描述】:

我在项目 A 下有一个文件夹,而我想在项目 B 下拥有一个文件夹,并且我想在项目 B 下保留文件夹历史记录。

而且,我真正想要的是让项目 A 文件夹的当前状态分支到项目 B 下的 Dev 分支,然后然后通过项目 A 文件夹的旧变更集分支到项目 B 下的 Main 分支。例如:

$/TfsProjectA/MyProject --> 分支到 $/TfsProjectB/MyProject/Dev 完整历史记录 然后因为如果我有完整的历史我可以做 $/TfsProjectB/MyProject/Dev --> 基于现在 $/TfsProjectB/MyProject/Dev 的先前版本分支到 $/TfsProjectB/MyProject/Main

这样的事情可能吗?

【问题讨论】:

    标签: tfs visual-studio-2015


    【解决方案1】:

    不,这是不可能的。

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

    但是,合并变更集的分支是基于文件夹历史记录的。例如$/TfsProjectB/MyProject/Dev的第一个变更集将是从$/TfsProjectA/MyProject分支的变更集XXX。

    您将无法选择 $/TfsProjectA/MyProject 的旧变更集


    解决方案

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

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

    【讨论】:

    • 感谢您的确认。我在第一次尝试时确实遇到了毫无根据的合并,这很有效,但我每次都必须手动更改目标分支,并希望避免它。我想我现在要做的是进行毫无根据的合并,当我可以拍摄“新”开发分支的快照并将其分支到“真正的”主分支时,这样做然后我认为从那时起事情应该是幸福的。
    猜你喜欢
    • 2016-05-05
    • 2014-04-26
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多