我现在已经和Team Foundation合作了一段时间,我发现一个行为特别烦人。假设我有几个团队项目:
$/
Project1
Project2
现在,由于我们真的不需要进入的原因,我想要保持$ / Project2锁定,以防止其他任何人做任何事情。通常,每当您在树的特定级别办理登机手续时,该级别及以下的所有内容都将包含在办理登机手续中。
但是,在这种情况下,每当我签到$ / Project1下的任何内容时,包含在要登记的项目列表中的是$ / Project2上的锁定。如果我点击OK,我的锁就会消失。有没有办法阻止这种行为?
答案 0 :(得分:2)
使用不同的工作区。锁,结帐和签到的范围都限定在工作区内。
设置工作区后,他们的使用大部分都是透明的(特别是如果您选择最新结账)。
答案 1 :(得分:2)
我的第一个建议与Richards相同,使用不同的工作区。
另一种方法是根本不使用锁,而是修改团队项目的安全权限,这样只有你能够检查文件中的文件。要修改权限,请右键单击Source Control Explorer中的文件夹,选择Properties ...然后选择安全选项卡。
您可以取消选中“继承安全设置”框,然后根据需要允许或拒绝。但是在编辑安全性时要非常小心,因为您可能很容易意外地设置文件夹,以便即使您无法看到它还原设置。如果您了解这种情况,请参阅以下顶部提示:
答案 2 :(得分:1)
我同意您应该为“长寿”锁使用单独的工作区。让生活更轻松。你甚至不需要在磁盘上创建一个文件夹 - 只需将$ /映射到某个地方,在提示同步时单击否,然后锁定。
但是...
通常情况下,每当您在树的特定级别办理登机手续时,该级别及以下级别的所有内容都会包含在签到中。但是,每当我签到$ / Project1下的任何东西时,包含在签到项目列表中的是$ / Project2上的锁定。
我无法重现这一点。使用VS 2008 SP1,我看到我总是这样做:在Checkin模式对话框中显示该工作空间中待处理更改的完整列表,但只检查了我的右键单击的项目(来自SCE或解决方案资源管理器)
也许你正在使用Pending Changes工具窗口?我一直都在使用它,但不做的一件事就是将其自身范围扩展到任何特定的文件夹。也就是说, 有一个远远隐藏的功能,其他Checkin入口点没有:“按解决方案过滤”按钮。它是Workspace下拉列表中最右边的图标。您可能会发现它很有用 - 而不仅仅是在这种情况下。
答案 3 :(得分:0)
我想我现在已经把它弄清楚了。
正如理查德伯格所说:
该工作区中的待处理更改的完整列表显示在Checkin模式对话框中,但只检查了我的右键单击范围内的项目(来自SCE或解决方案资源管理器)。
然而,我观察到的是文件的确如此;但是,对于文件夹相关操作,还始终包括所有挂起的文件夹更改。由于我保留的锁定在文件夹上,因此在挂起的更改列表中勾选了它。
我同意其他人(并且已经投票赞成)使用单独的工作区是一个更好的解决方案,但当时我在该锁定的文件夹下有很多未决的更改,因此切换工作区是不切实际的。