2013-02-08 65 views
8

我有一些第三方dll簽入TFS
我們的機器已重新命名,現在TFS認爲他們在另一臺機器上檢查了我的編輯。TFS文件必須保持鎖定

我試圖tf lock /lock:none contrib64/* /workspace:oldmachine;myusername,但我得到的錯誤

TF10152: The item $/XXX/YYYY/contrib64/third_party.dll must remain locked because its file type prevents multiple check-outs.

1,有沒有解決這個辦法嗎?
2,TFS真的不好還是隻是我?
3,TFS的目的是讓我們懷念VSS嗎?

ps這是一個託管版本,所以我不能讓管理員修復它。

回答

10

撤消鎖定在這些文件上不起作用,因爲它們是二進制文件,因爲二進制文件無法合併,所以如果它們被簽出,它們必須被鎖定。

由於工作區駐留的機器不再存在(機器已重命名),所以最好的辦法是刪除工作區。

從Visual Studio命令提示

tf workspace /delete oldmachine;myusername /collection:http://*tfsserver*:8080/tfs/*collection*

這將移除工作區並撤消所有未決改變

+0

我發現了「刪除工作區」的建議,但我們託管的TFS意味着整個公司都是「工作區」 - 至少這就是它所謂的整個集合。每臺機器+用戶都是工作區嗎? – 2013-02-08 18:07:34

+0

ps謝謝,二進制檢出/合併原因其實很有道理! – 2013-02-08 18:08:40

+0

每個用戶在許多機器上都可以有很多工作區。工作區是源代碼管理中的文件夾與本地硬盤上的文件夾之間的映射。從技術上講,我認爲一個集合可以被認爲是一個「工作空間」作爲一個通用術語,但是在TFS工作空間中有一個特定的含義。在默認情況下,當您創建工作空間時,其名稱爲machineName;用戶名,同一機器上的第二個工作空間爲machineName_1;用戶名可以重命名工作空間名稱的第一部分。刪除舊的工作區,你會很好去 – 2013-02-08 18:17:28

1

文件與.dll擴展以及其他附加信息例如.exe,.DOC, .docx等會自動鎖定,因爲(如上所述)在這裏不能合併。

如果要禁用自動鎖定,並允許這些文件都要經過門控檢查,請按照下列步驟操作:在您的構建服務器

  1. 日誌。
  2. 打開視覺工作室。
  3. 在團隊資源管理器中,登錄到您的團隊項目。
  4. 轉到「設置」。
  5. 在「Team Project Collection」下,選擇「Source Control」。
  6. 對於任何不想自動鎖定的文件擴展名,將「文件合併」屬性設置爲「禁用」。

參考:https://blogs.msdn.microsoft.com/phkelley/2008/11/12/everything-you-ever-wanted-to-know-about-locks/

這爲我工作。