我將MS Team Foundation Server 2012與服務器工作區一起使用,並且本地文件位於Linux服務器上(通過Samba訪問)。從Visual Studio 2017訪問TFS。如何防止TFS本地文件被刪除/覆蓋/重命名?
當我檢查foo.txt時,TFS成功設置foo.txt爲只讀(r-xr-r--)。但是TFS不會爲存放foo.txt的目錄設置權限。因此,儘管我無法修改foo.txt,但我仍然擁有對其所在目錄的寫入權限,因此我可以刪除foo.txt或將其重命名或覆蓋它。
有沒有一種方法可以告訴TFS管理文件存儲目錄的權限(除文件本身之外)?因此,如果不首先從TFS中檢出文件,我將無法刪除/重命名/覆蓋文件(在Visual Studio之外)?如果當我檢出一個文件時,它將被存儲的目錄變爲可寫(u + w),並且當目錄中的所有文件都被簽入時,目錄將變爲只讀(ugo-w)。
作爲一個旁註,我認爲這可能是一個複雜的我有文件存儲在一個Linux機器上。但我用我的Win 7 PC上存儲的本地文件試了一下,得到了同樣的結果。 TFS將設置只讀文件屬性。但即使使用只讀屬性設置,我仍然可以刪除/覆蓋/重命名文件。我想,因爲我是我的電腦的管理員(文件屬性的安全選項卡顯示我有完全控制)。
所以我認爲這是一個通用的TFS問題。由於TFS使用只讀屬性來防止文件在TFS之外被修改爲而不被檢出,因此TFS能否阻止它們在TFS之外被刪除/覆蓋/重命名?
沒有這個,我想我有可能意外地將本地文件與存儲庫不同步,並且這看起來不是什麼好事。
我試圖跳過上面的箍是因爲我將編輯Visual Studio以外的文件。但是從更多的閱讀來看,看起來像使用本地工作區而不是服務器工作區會更好。由於使用本地工作區,TFS在檢出/檢入時不會切換隻讀位。您可以隨意編輯文件,並且TFS將檢測到更改。這聽起來更接近我想要的。 – Quentin