Team Foundation Server 维护手记一(强制解除签入签出锁定)(转http://www.cnblogs.com/CodeAnyWhere/archive/2007/03/06/665988.html)

Coordinator
Feb 28, 2012 at 2:13 AM
      项目组的Team Foundation Server 已经可以运转了,但是几天的使用中也发现了一些问题,也难怪微软的产品中我感觉TFS算是集成了很多产品与服务最多的了,所以它出的问题也是光怪陆离另众英雄竞折腰,并且TFS出现的问题都是特别不好解决的,所以从这篇维护手记开始,我准备把我对TFS维护中的问题,及其解决方式通过随笔的方式告诉大家,希望大家在使用TFS的过程中,少些弯路,少些困难。

我们在使用TFS的时候会使用到TFS中的SourceControl,SourceControl中的优点我就不用多说了,但是SourceControl有个比较致命的缺点,也是SourceControl基于工作区这种模式下所带来的问题,首先SourceControl源码管理会在每个客户机器上创建一个工作区,然后这个工作区域映射到服务器上的源码文件夹,我们在正常签入,签出的时候,我们的源码会在服务器到客户端的工作区进行操作,这是没有问题的,但是我们在使用TFS的时候基本上都是多人的并发签入签出,而TFS在设计的时候是支持签入锁定与签出锁定的,默认项目组成员在签出项目的时候是不应用签出锁(限制比较大,建议项目组成员慎用),签入锁(限制小于签出锁),但是一旦有项目组成员在把源码项目从TFS的SourceControl中签出,并且加入了签出锁或者是签如锁,这样也无所谓,只要这个项目组的成员按照规矩把这个项目最后在签入到SourceControl中,签出的锁定会自动的解除,关键的问题是如果这个项目组的成员放假了,或者这个项目组的成员离职了,这样的原因太多,由于种种原因这个项目组的成员的项目中可能有几个文件施加了签出(入)锁,这时如果项目组的下个成员想要修改被锁定的文件,或者是TFS的管理员想要在SourceControl删除这个项目,这时问题出现了,因为我们无法通过Team Explorer来进行这样的操作,当我们通过Team Explorer删除这样的项目的时候,Team Explorer会提示有签出(入)锁,然后告诉我们是哪个用户,在哪个工作区进行的锁定,一个工作区的定义应该是这样的,如:WorkSpaceSample;Domain\WangXiaoLong:6  这是一个工作区的完整的定义,出现这样的情况了,我们不要急可以使用这样的命令:
cd  C:\Program Files\Microsoft Visual Studio 8\Common7\IDE
然后执行
tf undo /workspace:WorkSpaceSample;所在的域\用户名:用户名序号  $/路径/文件名

WorkSpaceSample;所在的域\用户名 这段参数为一个完整的WorkSpace ,所以大家不要图简单,漏了这个最重要的参数,

然后大家就可以刷新你的Team Explorer看看那个加锁的文件是不是不见了,你可以进行更多的操作了。