2012-09-25 82 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