TFS 2012取消搁置到不同的分支 - >具有相同键的项已被添加(TFS 2012 Unsh

2019-06-27 01:49发布

请帮助我解决了以下问题:

我试图取消搁置从源代码分支到目标分支。

我使用的是以下情况:

  • VS2012 RC
  • TFS 2012
  • VS2012 64跨工具命令提示符

当我使用命令提示来执行取消搁置操作时,将发生以下情况:

  1. 搁置细节对话框获取与变更的文件列表中显示。
  2. 点击取消搁置按钮。
  3. 观察命令提示符输出:“用相同的密钥已经被添加的项目。”

我已经下载ServicePack1电动工具。 但是,我没能解决这个问题。

Answer 1:

我有同样的问题,并固定它,当我重新搁置从源分支的变更,但选择不保存在本地挂起的更改 。 在此之后,新搁置的迁移得很顺利。

(我也确信我会跟着从其他的答案在本网站收集下面的步骤)

  • 使用既包括源和目标分支的工作区
  • 从映射到源分支的文件夹中运行命令
  • 检查周围包含空格的任何路径报价
  • 删除缓存在C:\用户[名] \ AppData \本地\微软\的Team Foundation \ 4.0 \ Cache和重新启动Visual Studio中


Answer 2:

我使用Visual Studio 2013和下面的命令时,有同样的错误:

> tfpt unshelve /migrate /source:"$/Root/Solution" /target:"$/Root/Branches/Solution" "The name of my shelveset"
> An item with the same key has already been added


研究

下面是我试图解决这个问题:

  • 清除缓存按照安德烈的回答
  • 尝试从运行命令- >分行支行- >源
  • 我的工作空间已经包含源和目标分支


打开你的VS2013的x86本机工具命令提示符的等价物。

  1. 请检查您安装团队基础电动工具:

    C:\ Program Files文件(x86)的\微软的Visual Studio 12.0 \ VC \ TFPT

  2. 确保您有0 挂起排除的变化。
    我有被检测到,但不是添加了一些排除的变化,这就是抓住了我。 排除的变化应该是这样的:


    注:没有“检测:XX(添加)” -应该是可见的

  3. 当您运行tf status ,你应该看到类似以下内容。
    任1个变化率(s)为.tfignore文件或0变化率(s)。 任何东西都不会打乱合并。

    C:\ TFS \ ROOT \解决方案> TF状态
    文件名更改本地路径


    $ /根.tfignore编辑C:\ TFS \ ROOT \ Solution.tfignore

    1个变化率(s)

  4. 确保您正在运行tfpt从源头解决方案目录命令

您现在应该能够从一个分支合并成功搁置到另一个。

注意在.tfsignore:
如果你有很多的,你不想撤消无论出于何种原因挂起更改,然后到.tfignore文件的修改就可以了。

如果这是你已经离开与变化的唯一文件,也不会刹车的合并。
.tfignore参考=> 计算器-如何忽略文件/目录在TFS?



Answer 3:

尝试撤消源和目标分支上的所有更改,然后再试一次...



Answer 4:

尝试删除所有文件在以下文件夹,然后重新启动VS2012( 来源 ):

C:\用户[名] \ AppData \本地\微软\的Team Foundation \ 4.0 \缓存



文章来源: TFS 2012 Unshelve to different branch -> An item with the same key has already been added