我在TFS中检查了一些第三方dll 我们的机器已重命名,现在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这是一个托管版本,所以我不能让管理员修复它。
答案 0 :(得分:10)
撤消锁定对这些文件不起作用,因为它们是二进制文件,因为二进制文件无法合并,如果签出它们必须锁定。
由于工作空间所在的机器不再存在(机器已重命名),最好的办法是删除工作空间。
从Visual Studio命令提示符
tf workspace /delete oldmachine;myusername /collection:http://*tfsserver*:8080/tfs/*collection*
这将删除工作区并撤消所有挂起的更改
答案 1 :(得分:2)
扩展名为.dll的文件以及.exe,.doc,.docx等其他扩展程序会自动锁定,因为(如上所述)此处无法合并。
如果您想要禁用自动锁定并允许这些文件通过门控办理登机手续,请按照以下步骤操作:
参考:https://blogs.msdn.microsoft.com/phkelley/2008/11/12/everything-you-ever-wanted-to-know-about-locks/
这对我有用。
答案 2 :(得分:2)
如果您不想删除工作空间,则可以撤消更改并在此之后将文件解锁:
使用Visual Studio开发人员命令提示符:
tf undo "$/<server-path-to-file/folder>" /workspace:"<workspace>;<user>" /collection:<collection-url> /recursive
tf lock "$/<server-path-to-file/folder>" /lock:none /workspace:"<workspace>;<user>" /collection:<collection-url> /recursive
答案 3 :(得分:0)