2013-06-26 87 views
4

我用https://stackoverflow.com/a/13710811/260865得到一個在一個git倉庫中有分支的tfs倉庫,它可以很好地適用於幾個分支。但我沒能初始化,因爲所有分支:
"C:\tmp\Main>git tfs branch --init --authors=C:\tmp\authors-file.txt $/someproject/Branches/7.2.0 The name of the local branch will be : Branches/7.2.0 error: The root changeset 26907 have not be found in the Git repository. The branch containing the changeset should not have been created. Please do it before retrying!!"git tfs branch --init --all errors

C:\tmp\Main>git tfs branch --init --authors=C:\tmp\authors-file.txt $/someproject/Releases/7.0.0.1 The name of the local branch will be : Releases/7.0.0.1 An unexpected error occured when trying to find the root changeset. Failed to find root changeset for $/someproject/Releases/7.0.0.1 branch in $/someproject/Main branch(改名分支問題:https://github.com/git-tfs/git-tfs/pull/299

TFS說7.0.0.1是主要的子分支。

環境: gittfs版本0.17.1.0(TFS客戶端庫11.0.0.0(MS))(32位) C:\工具\ gittfs \混帳tfs.exe

有一個人解決方案呢?

+2

我也有一個問題simlar你的第一個錯誤沒有解決方案 – JJS

+1

我也有第一個問題 –

回答

2

問題是由分支被重命名造成的。有一個issue for this here但它尚未解決。

INIT分支不處理TFS分支重新命名

如果我從我的 幹線創建TFS一個分支,然後重命名分支,當我試圖在重命名執行 INIT分支分支沒有找到正確的 變更,並抱怨說,原本並不在GIT 倉庫

「2010年TFS幕後的重命名其實是一個分支, 存在DELET e過程,這意味着我們結束了新的分支,而且還刪除了舊名稱的一個 分支。這是不明顯的,除非你有 「在源代碼管理瀏覽器中顯示已刪除項目」啓用...「這就是爲什麼git-tfs無法處理這種情況的原因,因爲git-tfs無法在父分支具有初始分支時啓動 分支沒有inited這是什麼,我計劃做的更好地處理合並的變更 並允許自動初始化父分支時根變更 沒有找到 第二步之前:((後#363是合併)。

但它需要一個大的重構(需要將很多方法從一個 類移動到另一個)...

+0

現在支持分支重命名。 –

1

我發現了一種解決方法,即使它們已重命名,也可以克隆所有分支。 正如亞當所說,重命名的分支被刪除並重新創建,我們需要「父」提交克隆在孩子之前。

1)查找所有被刪除的分支的列表 我使用Visual Studio - >源代碼控制管理 - >點擊顯示隱藏已刪除的選項切換圖標

2)在祖先訂單git tfs branch --init $\Project\Branch_Location各刪除分支

1

支持分支重命名的開發現在已經在master中合併(但尚未發佈,將在下一個版本中爲0.21)。

應該解決大多數的重命名的情況下(但TFS我們從來沒有確定:()。請隨意測試和report case不工作...