2011-08-11 89 views
8

我正在構建一個與TFS集成的工具,它需要正確解析TFS日誌(從tf.exe歷史命令)並檢出不同的修訂(再次使用tf.exe)。它在我測試過的TFS服務器上效果很好,但我想在廣泛的大型軟件倉庫上測試它,以確保我的分析工作正常。我在哪裏可以獲得大型樣本TFS存儲庫?

我希望使用Codeplex來訪問TFS存儲庫,但是如果您是項目成員,您似乎只能通過TFS訪問Codeplex項目。

在公共TFS服務器上是否有任何託管開源代碼的集合?是否還有其他可用於測試的公開服務器?

+0

這個問題將是對話題的http://opendata.stackexchange.com/ –

回答

0

您是否嘗試過Codeplex上的一些較大的項目?

如果你只需要讀訪問,你應該能玩的各種信息庫。

+0

不幸的是訪問Codeplex上的項目似乎並不除非你是一個項目成爲可能會員。我無法讓它工作,也沒有人可以在http://codeplex.codeplex.com/Wikipage?title=Source%20Control%20Clients – mcobrien

+0

討論它爲什麼不聯繫一些項目的所有者請求訪問?我的項目只是很小,但我不明白爲什麼我不能在短時間內授予訪問權限...... – jessehouwing

0

我沒有大量的tfs經驗,但我會假設有一些遷移工具可讓您從其他產品(例如svn或hit)獲取代碼庫。

如果是這樣,你可能想找到一個svn/git回購大型foss項目,並嘗試導入。

1

既然你提到tf history命令,我假設你想收集/解析項目的登錄歷史記錄(及其文件)。

因此,除了大型資料庫之外,您還需要大量的歷史記錄,對嗎?如果是的話,那麼下面是你遇到的一系列問題:

  • codeplex上的大多數項目都使用Mercurial而不是TFS。所以,即使你獲得訪問權限,你也不能使用TFS。
  • 正如你所提到的,他們要求你成爲你的成員來訪問源代碼。
  • 即使您獲得訪問權限或找到公共服務器(不太可能),您仍然需要大量的歷史記錄。

如果我在我的假設是否正確,到目前爲止,這裏是最簡單的(有點乏味,雖然)出路:

  • 去任何大型項目的,如NugetWix 修訂
  • 下載任何舊版本(回到你想要的歷史記錄)。您可以下載壓縮的src文件,而無需成爲會員。
  • 在您的測試服務器中,簽入代碼(src)以創建基準。
  • 下載下一個版本。
  • 檢出服務器中的文件,並用較新版本的文件覆蓋它們。
  • 在簽入時,使用history.txtsample)創建簽入註釋
  • 重複此過程幾次。

Voila !!你現在有一個有很多歷史的大型資料庫!

希望這會有所幫助。

+0

感謝您提供這樣詳細的答案,但不幸的是,這並不是我所需要的。遵循這種方法,我將得到一個TFS支持的小部分操作系統的存儲庫。我的測試服務器已經有基本的添加,更新和刪除更改,但TFS也支持更多深奧的更改,如「合併,編輯」和其他組合。 (改變類型實際上是一個位掩碼,所以我想在理論上幾乎任何組合都是可能的,儘管很難推斷某些組合的含義。) – mcobrien

+0

1.爲什麼合併/編輯很奇怪? 2.您可以通過從樹幹分支出來來模擬合併,用下一個版本更新分支併合並回樹幹。 – Mrchief

+0

合併/編輯並不奇怪,如果我從另一個SCM(或根據您在答案中建議的一系列更改文件)導入,它將不會出現在我的TFS日誌中。我正在編寫一個將日誌從TFS轉換爲內部格式的工具,因此我需要測試使用所有TFS功能的日誌。 – mcobrien

2

我建議使用svn2tfs並選擇SourceForge上的任何相對活躍的項目。 SF上有很多項目可以選擇使用SVN而不是CVS。你甚至可以從中獲得一些獎勵,並幫助svn2tfs項目解決任何問題。

+0

不幸的是,這種方法只會給我一個有限的TFS支持的改變。我的工具已經正確地解析了基礎知識,但TFS支持奇怪的變化,比如「合併,編輯」和其他組合。由於這些在SVN/CVS中不存在,因此如果從另一個存儲庫導入它們將不會顯示出來。這是因爲我想要訪問真正的TFS服務器的這些TFS特定的歷史條目。 – mcobrien

+0

1.爲什麼合併/編輯很奇怪? 2.您可以通過從樹幹分支出來來模擬合併,用下一個版本更新分支併合並回樹幹。 – Mrchief

0

我希望用Codeplex上以訪問TFS倉庫,但似乎如果你是一個項目成員只得到TFS訪問Codeplex上的項目。

該解決方案似乎是這是SO'rs的共識。我已閱讀了一些Codeplex TFS連接問題線程(您鏈接到下面),並希望此主題中的註釋可解決此問題:

Connecting to Codeplex TFS as a Coordinator or Developer

+0

不幸的是我已經仔細看了一下,這個頁面http://codeplex.codeplex.com/Wikipage?title=Source%20Control%20Clients確認你需要成爲一個項目成員。 「如果你不是一個項目的開發人員,那麼你需要使用Subversion客戶端來匿名訪問源代碼控制庫」是關鍵詞。 – mcobrien

0

我想知道您是否可以使用git-tfs項目將一個現有的Git項目導入到TFS中。

  1. Download and install git-tfs
  2. 創建一個新的TFS項目
  3. 克隆使用Git TFS的TFS項目的Git項目( 「混帳TFS克隆http://tfs:8080/tfs/DefaultCollection $/some_project」)
  4. 進口的現有Git項目你的選擇到你新的Git項目中(我不知道這個命令,但我認爲這是可能的)。
  5. 使用git-TFS檢入到TFS服務器( 「混帳TFS checkintool」)

=>做是有意義的?和作品?

欲瞭解更多信息: http://lostechies.com/jimmybogard/2011/09/20/git-workflows-with-git-tfs/

相關問題