2012-01-05 456 views
2

我想一個小項目,從2005年VSS轉換爲2010 TFS和一切運作良好,除了所有的歷史都是不能轉換。我正在密切關注從http://msdn.microsoft.com/en-us/library/ms253060.aspx(從Visual SourceSafe遷移到Visual Studio 2010)的演練。VSS 2005遷移到TFS 2010 - 歷史不會遷移

我從一個巨大的VSS數據庫備份一個小項目到我的本地機器,準備settings.xml文件,在分析中運行VSSConverter,然後在遷移模式下,代碼最終在TFS中,項目結構正確,只是歷史不在那裏。

轉換後,我公司擁有一批在VSSConverter.log文件中的錯誤看起來是這樣的:

[VSS,    Error,  3, 2012/01/04 14:48:02.159] Exception: System.Runtime.InteropServices.COMException 
    Message: File or project not found 
    Stack Trace: at Microsoft.VisualStudio.SourceSafe.Interop.IVSSItem.get_Versions(Int32 iFlags) 
    at Microsoft.TeamFoundation.Converters.VersionControl.Vss.VssWrapper.ReadHistoryItemNoRecursive(ItemInfo itemInfo, Int32 flags, String spec, String name, Boolean type, Boolean deleted, Boolean isPinned, Int32 pinnedVersion, Boolean writeToDB) 
    at Microsoft.TeamFoundation.Converters.VersionControl.Vss.VssWrapper.PutInfoInDB(ItemInfo itemInfo, Boolean isMigrate) 
    Help Link: ssusexp.hlp#10609 
    BaseExceptionMessage: File or project not found 

我試圖尋找對這些錯誤的詳細信息,但沒有太多的信息。有沒有人看到這些錯誤?

謝謝。

+0

只是爲了澄清,我認爲你:1)選擇「歸檔所有數據」中的VSS存檔工具的版本範圍選項,和b)沒有按照遷移指南中的可選截斷一步,它是否正確? – 2012-01-05 22:05:25

回答

2

我想我找到了我在做什麼錯了,現在可以重現行爲。 我原來的VSS數據庫具有以下結構

$/ 
___+Folder1 
_______+Project11 
_______+Project11 
........... 
_______+Project1n 
___+Folder2 
_______+Project21 
........... 
_______+Project2n 

等。如果我備份和恢復Project11到一個空VSS DB我哈德以下幾點:

$/ 
___+Folder1 
______+Project11 

現在,當我把

<Project Source="$/Folder1" Destination="$/Project11"></Project> 

到我的settings.xml,我失去的歷史,即使所有代碼已正確轉換。 當我改變了對

<Project Source="$/Folder1/Project11" Destination="$/Project11"></Project> 

所有歷史記錄被轉換。 也許這有助於某人。 :)

1

我的經驗:我們從遷移到TFS2005 TFS2008然後TFS2010。至於我記得,有遷移到TFS 2008年我們用遷移工具,從TFS2005所有變更遷移到(每變更)TFS2008數據庫(保存歷史的變化)過程中的問題。這是一個非常緩慢的過程。無法在一天之內完成,因此我們決定將整個存儲庫移至新的TFS數據庫(不要阻止開發人員對其代碼更改進行簽入)。我們失去了所有的歷史變化,但是我們被遷移了:)並且開發者沒有被封鎖。這不是我的責任。我沒有做出這個決定。我們使用了codeplex的一些工具。也許this one(我不記得現在很抱歉)。從TFS2008遷移到FTS2010完全沒有問題,因爲您可以使用sam DB作爲TFS2010,並且您的歷史更改應該保持不變。

我知道這是不是你的問題的答案,但它可能會有所幫助的人不要做這種方式:)

+0

您不應該需要執行遷移。 TFS 2008將升級TFS 2005數據庫並保留歷史記錄。 – 2012-01-05 22:00:19

+0

嗯。我不知道爲什麼使用遷移工具遷移我們的來源而不是簡單的數據庫遷移的原因:( – Ludwo 2012-01-05 22:11:17