使用 Team Foundation Server 2010 我正在尝试取消我的团队中另一位开发人员所做的一系列更改。此搁架集包括一些包含 dll 的 Nuget 包。我收到多个错误,如下所示:
项 $/file/path/some.dll 被锁定,以便由工作区计算机名称中的用户签出。
2008年,Mac Noland在他的博客文章中断言,取消搁置禁用文件合并的文件,此错误是由禁用文件合并引起的。为二进制文件禁用文件合并很有意义。根据错误,我假设TFS 2010在上架时仍在使用合并实用程序(原因有意义)。也就是说,我不想为 dll 文件启用文件合并。
不幸的是,了解正在发生的事情和修复它是两回事。在TFS中,有没有办法取消搁置被其他用户搁置的二进制文件?
如果用户创建了搁置集,但将所有内容都保留在本地签出,您将收到此错误。由于 TFS 通常只允许对二进制文件进行一次签出,因此如果搁置集包含被其他用户锁定的二进制文件,则无法取消搁置。
您可以尝试使用以下命令解锁文件 -
tf lock itemspec /lock:none /workspace:OtherUsersWorkspace
您应该能够从错误消息中确定工作区,并且还需要指定用户 -/workspace:WORKSPACE;userid
就我而言,我的源代码位于工作站的以下位置
D:\TFS\来源\开发\汽车.
我在Visual StudioTools下打开了Visual Studio Command Prompt,并以管理员身份运行它。
我更改了命令提示符以移动到
D:\TFS\来源\开发\汽车
在行下执行
D:\TFS\Source\Development\Cars> tf lock HE/*/lock:none/workspace:zigglerworkspace/login:ziggler/collection:ziggler1pxtfs01\WebProjects
Zigglerworkspace - My Workspace Name
齐格勒 - 我的用户名
ziggler1pxtfs01\WebProjects - TFS 服务器网址
这释放了对位于 HE 文件夹下的所有文件和文件夹的锁定,该文件夹位于
D:\TFS\来源\开发\汽车\HE
-
安装Microsoft团队基础服务器 2010年电动工具
-
将
C:Program Files (x86)Microsoft Team Foundation Server 2010 Power Tools
添加到系统路径 -
CD C:[某个位置]\"目标工作区"
-
tfpt unshelve /migrate "shelveset name";otherUserName /source:"$/ProjectName/Main/Source" /target:"$/ProjectName/Main/Target"