【问题标题】:How to unshelve another developer's changes that include dlls or other binaries?如何取消搁置包括 dll 或其他二进制文件的其他开发人员的更改?
【发布时间】:2013-11-04 22:06:49
【问题描述】:

使用 Team Foundation Server 2010 我试图取消我团队中另一位开发人员所做的一系列更改。这个搁置集包括一些包含 dll 的 Nuget 包。我收到了多个错误:

$/file/path/some.dll 项目已锁定,供 USER 在工作区 MACHINENAME 中检出。

2008 年,Mac Noland 在他的博客文章Unshelving files that have File Merging disabled 中断言,此错误是由禁用文件合并引起的。为二进制文件禁用文件合并是很有意义的。基于该错误,我假设 TFS 2010 在取消搁置时仍在使用合并实用程序(这对于原因是有道理的)。也就是说我不想为 dll 文件启用文件合并。

不幸的是,了解正在发生的事情并修复它是两件不同的事情。在 TFS 中有没有办法取消搁置被其他用户搁置的二进制文件?

【问题讨论】:

    标签: dll tfs nuget unshelve


    【解决方案1】:

    如果用户创建了搁置集,但在本地签出了所有内容,您将收到此错误。由于 TFS 通常只允许对二进制文件进行一次签出,因此如果一个搁置集包含一个被其他用户锁定的二进制文件,则不能取消搁置。

    您可以尝试使用以下命令解锁文件-

    tf lock itemspec /lock:none /workspace:OtherUsersWorkspace
    

    您应该能够从错误消息中确定工作区,并且您还需要指定用户 - /workspace:WORKSPACE;userid

    【讨论】:

    • 我确定我们需要在命令提示符下执行此操作。但是什么位置。你能举一个完整的好例子吗/
    • @ziggler 您应该能够在上述命令中包含 /server 选项。即tf lock itemspec /lock:none /workspace:OtherUsersWOrkspace /server:TFSServerURL
    • @dam - 我正在寻找回复,比如我们需要在 Visual Studio 命令提示符下执行这些命令,我​​们需要移动到文件夹/文件位置,例如我的情况 D:\TFS\Source\Development \Cars 然后运行 ​​tf 命令。
    【解决方案2】:

    就我而言,我的源代码位于我的工作站的以下位置

    D:\TFS\Source\Development\Cars.

    我在 Visual Studio 工具下打开 Visual Studio 命令提示符,并以管理员身份运行它

    我将命令提示符更改为移动到

    D:\TFS\Source\Development\Cars

    在下一行执行

    D:\TFS\Source\Development\Cars> tf lock HE/* /lock:none /workspace:zigglerworkspace /login :ziggler /collection:ziggler1pxtfs01\WebProjects

    zigglerworkspace - 我的工作区名称

    ziggler - 我的用户名

    ziggler1pxtfs01\WebProjects - TFS 服务器网址

    这释放了对位于 HE 文件夹下的所有文件和文件夹的锁定

    D:\TFS\Source\Development\Cars\HE

    【讨论】:

      【解决方案3】:
      1. 安装 Microsoft Team Foundation Server 2010 Power Tools

      2. C:\Program Files (x86)\Microsoft Team Foundation Server 2010 Power Tools 添加到您的系统路径

      3. cd c:[某个位置]\"目标工作区"

      4. tfpt unshelve /migrate "shelveset name";otherUserName /source:"$/ProjectName/Main/Source" /target:"$/ProjectName/Main/Target"

      【讨论】:

        猜你喜欢
        • 2015-08-28
        • 2010-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-07
        • 1970-01-01
        • 2016-10-03
        • 1970-01-01
        相关资源
        最近更新 更多