2012-09-25 83 views
13

我知道这个问题之前已经被问过,但因为没有答案,所以我再次问。TFPT Unshelve迁移不起作用

我在尝试将shelveset从一个分支迁移到另一个分支。我运行下面的命令,从工作区DIR内:

tfpt unshelve changes;myusername /migrate /source:$/main /target:$/new-branch 

当我运行该命令我得到了“搁置细节”窗口以来,随着变化,以及文件夹(指向$ /主)

单击取消搁置会给我冲突对话框,再次指向$/main文件夹。如果我点击的决心,我得到以下选项:

  • 保留我的本地更改撤销我的局部变化,并采取搁置
  • 撤销我的局部变化,并采取搁置的变化。
  • 保持我的本地修改,并合并本地和搁置内容

我选哪个选项过,我从来没有在“新的分支”的挂起更改。我有唯一的变化是主分支。

有什么想法?

回答

9

您需要从映射到您的目标目标分支(在您的示例中为$/new-branch)的目录运行此命令。

例如,如果你目前的分支=>这是在您的工作空间在C:\Workspace\TeamProject\Main\...

映射主,你要移动它在D:\Workspace\TeamProject\Dev

映射更改到开发然后,你需要运行下面的命令,从以下目录:

C:\Workspace\TeamProject\Main> tfpt unshelve "changes;muusername" /migrate /source:$/TeamProject/Main /target:$/TeamProject/Dev 

见塔伦的博客文章了解详情:http://geekswithblogs.net/TarunArora/archive/2011/06/06/unshelve-shelveset-created-from-one-branch-to-another.aspx

+1

FWIW,这不是我的限制。对我而言,我能够从两个分支的父目录中运行它。所以,在上面的例子中,它会是'C:\ Workspace \ TeamProject \'。我想知道是否需要从作为工作空间w.r.t的一部分映射的目录运行它。有问题的分支机构。 – JoeBrockhaus

+12

@Grant Holliday:所以......你说从一个映射到“目标”的目录运行......但你实际上表明你从“C:\ Workspace \ TeamProject \ Main”运行它......这是“源代码“......非常令人困惑的答案! – woohoo

+0

是否可以指定在发现冲突时执行的默认操作,而不是为每次冲突手动指定它?我有700多个文件,在我的情况下不可能手动指定它。 – 2015-10-23 16:02:16

0

我和使用TFPT - Team Foundation Power Tools 2013的提问者有相同的经历。我将运行该命令并获取消息“自动合并已成功”,并认为它正在工作,但看不到目标文件中的任何更改科。
我的命令是这样的:

C:\用户\ dev的\ TFS_TEST \ rel1.1> “C:\ Program Files文件(x86)的\微软的Team Foundation Server 2013电动工具\ tfpt.exe” 取消搁置cbbss02 ; [email protected]/migrate/source:$/E Pluribus Unum/SourceCode/rel1.2/target:$/E Pluribus Unum/SourceCode/rel1.1

正如其他人所说的,源和目标路径:

“C:\ Program Files(x86)\ Microsoft Team Foundation Server 2013 Power Tools \ tfpt.exe”unshelve cbbss02; [email protected]/migrate/source:“$/E Pluribus Unum /SourceCode/rel1.2“/ target:”$/E Pluribus Unum/SourceCode/rel1.1“

让它实际传播到目标分支的变化。(我也确保Visual Stuido被关闭)

2

我也有这个问题,没有发布的解决方案似乎工作。

原来这是用户错误,我在我的/target参数中使用反斜杠而不是正斜杠。

这是因为我最初复制了项目的本地路径而不是TFS路径,然后用$替换了根路径,当我注意到我的错误时 - 但我错过了斜杠方向的改变 - 显然这很重要,并且意味着您的货架将在源代码分支处取消搁置。

+0

我有一个不正确的路径(错字),这个答案让我仔细检查它来抓住它。 – lko