11

我将一些第 3 方 dll 检入 TFS
我们的机器已重命名,现在 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 这是一个托管版本,所以我不能让管理员修复它。

4

4 回答 4

11

取消锁定对这些文件不起作用,因为它们是二进制文件,因为无法合并二进制文件,如果它们被签出,它们必须被锁定。

由于工作区所在的机器不再存在(机器已重命名),最好的办法是删除工作区。

从 Visual Studio 命令提示符

tf workspace /delete oldmachine;myusername /collection:http://*tfsserver*:8080/tfs/*collection*

这将删除工作区并撤消所有待处理的更改

于 2013-02-08T17:22:01.077 回答
3

如果您不想删除工作区,您可以撤消更改并在此之后解锁文件:

使用 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

于 2018-11-20T10:18:25.730 回答
2

具有 .dll 扩展名的文件以及 .exe、.doc、.docx 等其他扩展名的文件会自动锁定,因为(如前所述)它们无法合并。

如果您想禁用自动锁定并允许这些文件通过门控签入,请按照以下步骤操作:

  1. 登录到您的构建服务器。
  2. 打开视觉工作室。
  3. 在团队资源管理器中,登录您的团队项目。
  4. 前往设置”。
  5. 在“团队项目集合”下,选择“源代码管理”。
  6. 对于您不想被自动锁定的任何文件扩展名,将“文件合并”属性设置为“禁用”。

参考:https ://blogs.msdn.microsoft.com/phkelley/2008/11/12/everything-you-ever-wanted-to-know-about-locks/

这对我有用。

于 2016-08-25T12:42:22.687 回答
0

我需要在 2 个地方更改设置:

  1. 在 Visual Studio 的团队项目窗口中,设置 -> 团队项目集合 -> 源代码管理 在此处输入图像描述 为扩展启用文件合并。

2)在Visual Studio,团队项目窗口,设置->团队项目->源代码控制 在此处输入图像描述 启用多个签出框

于 2018-11-13T18:44:46.550 回答