2012-02-15 28 views
6

我目前在SERVER-1上運行TFS 2010 Server。在我的客戶端(MY-CLIENT)上,我運行了VS2010,並有一個工作空間將SERVER-1與\ MY-CLIENT \ Development相關聯。一切都很好。當TFS服務器不再存在時,如何強制刪除客戶機上的TFS 2010工作區?

我當時在SERVER-2上設置了一個不同的TFS實例。在我的客戶機上,我刪除了原始的SERVER-1工作區,並創建了一個將SERVER-2與\ MY-CLIENT \ Development相關聯的新工作區。一切都很好。

在SERVER-2上完成了TFS的實驗後,我重新映像了計算機(刪除SERVER-2上的TFS服務器)。

然後我回到我的客戶機,重新連接到SERVER-1上的TFS,並嘗試將源代碼控制重新映射到我的Development文件夾。但是,我現在收到錯誤「路徑\ MY-CLIENT \ Development已映射到工作空間MY-CLIENT; SERVER-2 \ Steve中。」現在我有一個問題。

所以,我從中得知,在重新映像機器之前,我應該先刪除SERVER-2工作區。不幸的是,我沒有那樣做。

在一些論壇上閒逛,我知道我可以使用命令行工具來也許刪除:

tf workspace /delete MY-CLIENT;SERVER-2\Steve 

然而,當我運行它,我得到一個消息,表明「團隊基礎服務不能從服務器http://SERVER-2:8080/tfs/development

所以問題的話,就是我怎麼強制服務器-2的工作區的刪除我的客戶端上,這樣我可以重新創建我的舊服務器-1的工作空間?

回答

16

所有本地工作區的工作文件夾映射都存儲在版本控制緩存文件中。這允許您引導TFS客戶端,允許他們查找給定本地文件夾的服務器信息。此外,它還會提供您所看到的測試信息,以防止將本地文件夾映射到兩臺不同的服務器。

爲了清理它(不試圖連接到服務器),你可以使用tf workspaces命令(注意多元化 - 在workspaces命令工作區的名單上工作時,workspace命令上一個工作。工作區,一般需要連接到該工作區位於服務器

要刪除您刪除的項目集合所有的工作區,你可以這樣做:

tf workspaces /remove:* /collection:http://server-2:8080/tfs/DefaultCollection 

(顯然用您的已刪除服務器的URI替換項目集合URI)

-2

delete命令中的參數workspaceowner是可選的。你能否在沒有這個參數的情況下發出刪除命令,否則會損壞另一個MY-CLIENT工作區?

+0

它仍會嘗試聯繫(現已停用的)服務器以從服務器刪除工作區。 – 2012-02-15 20:02:15

1

我有完全相同的問題:將TFS服務器移動到另一臺機器後,我無法映射到VS2012中的本地文件夾因爲它仍舊與TFS否認所有存在的舊工作空間相關聯。幾個小時(或幾天),谷歌搜索和嘗試不同的東西,沒有一個工作(包括所有的「TF」命令,刪除本地緩存等)後,這是怎麼了我最終解決了它:

  1. 編輯使用SQL管理Studio Express的(如「Tfs_DefaultCollection」)
  2. 尋找「dbo.tbl_Workspace」表並進行編輯的TFS服務器上實際TFS收集數據庫
  3. 你應該可以看到你的「鬼」的工作空間(S)在這裏
  4. 刪除行
  5. 全世界都在正確
相關問題