【TFS 2017】使用瀏覽器上傳文件(TFVC)或者編輯代碼,錯誤提示TF14098,需要對文件有PendChange 權限


從TFS 2015開始,微軟在TFS系統中增加了一個非常吸引開發人員的功能,“快速代碼編輯器” (Quick Code Editor)。使用這個功能,你可以在任何安裝了瀏覽器的設備上編輯TFS服務器中的源代碼;你可以脫離龐大的IDE開發工具實現快速代碼更新。如果在TFS系統配置了持續集成和持續發布(CI/CD),那么開發人員使用瀏覽器,就可以快速更新測試環境/生產環境中的功能。這個功能一經推出,馬上收到了廣大TFS用戶的喜愛。

但是在使用過程中,許多客戶跟我抱怨,如果對用戶的默認權限進行了設置以后,發現無法通過瀏覽器更新源代碼,也不能上傳文件,系統提示“TF14098: 拒絕訪問: 用戶 張洪君 需要 $/金融風險管理系統/微信圖片_20170822215012.jpg 的 PendChange 權限。”(如下圖)。而與此同時,用戶卻可以在Visual Studio中簽入修改源代碼。出現這樣的現象,大家覺得難以理解。

image

通過對用戶權限設置的檢查,我們發現,使用瀏覽器的文件更新功能,用戶必須具備“簽出”(在TFS 2017中改名為“掛起服務器工作區中的更改”)權限。

這個“簽出”權限在TFS 2010以后,我們就較少用到。這是因為TFS 2010開始引入了本地工作區和服務器工作區的功能,且默認設置中,用戶的工作區為本地工作區。

  • 在服務器工作區模式下,如果用戶沒有簽出權限,是不能對源代碼做任何修改的。如果你嘗試在Visual Studio 中修改代碼,系統會提示“TF14098: 拒絕訪問: 用戶 張洪君 需要 $/金融風險管理系統/README.md 的 PendChange 權限。”(如下圖)。
  • 在本地工作區模式下,即使沒有這個權限,用戶也可以修改代碼。當用戶更改源代碼時,TFS客戶端會自動將文件標記文簽出狀態,但是這個狀態是保留在本地,不會存儲到TFS服務器通知其他用戶。但是用戶如果嘗試簽出並鎖定文件時,則系統會提示上面相同的錯誤信息。

image

(微軟ALM MVP 張洪君 http://www.cnblogs.com/danzhang

從上面的分析可以得出結論,TFS的快速代碼修改功能(Quick Code Editor)使用了服務器工作區的配置信息。因此,只有配置了“簽出”(或“掛起服務器工作區中的更改”)權限的用戶,才能通過瀏覽器更新代碼庫中的文檔、源代碼等文件信息。

【注意】這項權限設置,僅影響TFVC代碼庫的權限設置,Git代碼庫的權限與TFVC完全不一樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM