代码之家  ›  专栏  ›  技术社区  ›  Damien_The_Unbeliever

如何防止团队基础撤销锁

tfs
  •  0
  • Damien_The_Unbeliever  · 技术社区  · 15 年前

    我已经和Team Foundation合作了一段时间,我发现一种行为特别令人讨厌。假设我有几个团队项目:

    $/
      Project1
      Project2
    

    现在,由于我们不需要进入的原因,我想保持$/project2锁定,以防止其他人对它做任何事情。通常,每当您在树的特定级别进行签入时,该级别及其以下的所有内容都包含在签入中。

    但是,在这种情况下,每当我签入$/project1下的任何内容时,要签入的项列表中包含的是对$/project2的锁定。如果我按OK,我的锁就消失了。有没有办法阻止这种行为?

    4 回复  |  直到 15 年前
        1
  •  2
  •   Richard    15 年前

    使用不同的工作区。锁定、签出和签入的作用域是工作区。

    一旦设置了工作区,它们的使用就基本上是透明的(尤其是当您选择获取最新的签出时)。

        2
  •  2
  •   Community THelper    7 年前

    我的第一个建议是 Richards ,使用其他工作区。

    另一种方法是根本不使用锁,而是修改团队项目的安全权限,以便只有您能够将文件签入到其中。要修改权限,请右键单击源代码管理资源管理器中的文件夹,选择“属性…”然后是“安全”选项卡。

    您可以取消选中“继承安全设置”框,然后根据需要允许或拒绝。但是,在编辑安全性时要非常小心,因为您很容易意外地设置了文件夹,因此即使您看不到它,也无法恢复设置。如果你陷入这种情况,请看下面的顶部提示:

        3
  •  1
  •   Richard Berg    15 年前

    我同意您应该为“长寿”锁使用单独的工作区。使生活更容易。您甚至不需要在磁盘上创建文件夹——只需将$/随机映射到某个位置,在提示同步时单击“否”,然后锁定。

    但是…

    通常,每当您在树的特定级别进行签入时,该级别及其以下的所有内容都包含在签入中。但是,每当我签入$/project1下的任何内容时,要签入的项列表中包含的是对$/project2的锁定。

    我不能复制这个。使用VS2008SP1,我看到了我一直在做的相同行为:该工作区中挂起的更改的完整列表显示在签入模式对话框中,但仅检查范围为右键单击(从SCE或解决方案资源管理器)的项。

    也许您正在使用挂起的更改工具窗口?我一直在用,但有一件事 do是任何特定文件夹的作用域。也就是说 有一个非常隐藏的特性,而其他签入入口点没有:一个“按解决方案筛选”按钮。它是工作区下拉列表之前最右边的图标。你可能会发现它很有用——不仅仅是在这种情况下。

        4
  •  0
  •   Damien_The_Unbeliever    15 年前

    我想我已经弄明白了。

    正如Richard Berg所说:

    该工作区中挂起更改的完整列表显示在签入模式对话框中,但仅检查范围为右键单击(从SCE或解决方案资源管理器)的项目。

    但是,我观察到对于文件是这样的;但是,对于与文件夹相关的操作,所有挂起的文件夹更改也总是包含在内。因为我保存的锁在文件夹中,所以它在挂起的更改列表中被勾选了。

    我同意其他人的观点(并且已经投了赞成票),即使用单独的工作区是一个更好的解决方案,但是当时我在那个被锁定的文件夹下有很多待更改的内容,所以切换工作区是不实际的。