【问题标题】:TFS not showing Dev branch in target locations for mergingTFS 未在目标位置显示 Dev 分支以进行合并
【发布时间】:2011-06-22 21:34:30
【问题描述】:

s/w 版本: TFS2008服务器,VS2010,windows xp

我在 TFS 中有以下分支结构

  • $/Root/主分支
  • $/Root/Dev/Project1

几个月前,Project1 从主分支分支出来。现在我需要将主分支中的最新代码合并到 Project1 分支中。在那段时间里,一些新的文件夹被添加到了主分支。(主分支/CoreDataClasses/..)。因此,当我尝试使用合并向导将这个新文件夹合并到 Project1 分支时,我在目标分支列表中看不到 Project1 分支。为什么 TFS 没有在目标分支列表中显示我的开发分支?

【问题讨论】:

  • 您能告诉我您在从 TFS 2008 迁移到 TFS 2010 后是否遇到过这个问题?

标签: visual-studio-2010 visual-studio tfs merge


【解决方案1】:

从根目录(分支的位置)开始合并,而不是从单个文件夹开始。请记住,在您签入之前,合并不会造成破坏,因此如果您想推迟其他更改,您可以选择仅签入新文件夹。

【讨论】:

  • 我尝试从根文件夹(/Root/Main Branch 到 /Root/Dev/Project1)进行合并,但 TFS 给出错误 TF30041:Team Foundation Server 无法连接到数据库。请联系您的 TFS 管理员。
  • 现在合并不是问题。这表明应用层无法与数据层通信。确保新数据库已启动。
【解决方案2】:

使用 Tfs,我在从 分支合并到主干 时获得了更好的体验,我认为这里可能就是这种情况。当然,这可能需要重新考虑您的策略,但这是可行的。

我知道这可能会越位,但如果您经常进行跨分支合并,那么一定要考虑使用分布式版本控制系统,例如 mercurial。我已经使用过很多 Tfs 并且非常喜欢它,但是在分支和合并方面,它远远落后于 hg merge(mercurial 命令)

【讨论】:

    【解决方案3】:

    源和目标之间的文件夹结构必须至少 80% 相同。如果文件夹布局的重组太多,那么我建议您在进行合并时使用带有强制开关的 cmd 行 Merge。请参阅“Merge Command”。

    【讨论】:

    • 请引用您的“80% 相同”答案的来源。虽然删除和重命名可能会导致合并时出现问题,但 TFS 在您启动合并之前不会比较主干/分支。
    • @Robaticus- 这就是我所说的与删除和重命名有关的文件夹结构的意思。如果是文件夹结构的细微差异,则 TFS 将能够合并它。大多数情况下,我不得不强制合并它,缺点是特定文件的历史可能会丢失。我 80% 的答案来自我自己的经验。这是 TFS 2008 的问题,我不确定 TFS2010 是否能智能地解决这个问题。
    猜你喜欢
    • 2018-06-19
    • 2017-05-07
    • 1970-01-01
    • 2012-10-16
    • 2012-01-12
    • 2010-11-28
    • 1970-01-01
    相关资源
    最近更新 更多