今天是第二次碰到由于wincvs提交时间过长,取消wincvs操作而导致整个cvs目录无法checkout的问题了,两个人在那里到处翻找资料,我几乎把google整个给翻了过来,还是没查到有什么具体的解决方法,直到刚才……一同事查了cvs手册,在里面的10.5 多人同时运行CVS中找到答案,对于锁定的文件或文件夹,只要把该目录下的相关文件删除即可……郁闷死了,过度信任google,却没想到最原始的方法:查文档。顺便骂一下别人……这么简单的问题为什么没人想到,也不在网上留个标记,白白浪费了我半天时间(嗯……自己笨没办法,得拖一些人下水……)。下面是文档中的相关内容,留个记录,以便万一什么时候碰到又忘记:
如果多个开发者试图同时运行 cvs,其中一个人会得到下面消息:
[11:43:23] waiting for bach's lock in /usr/local/cvsroot/foo
cvs 会每 30 秒尝试一次,然后或者完成操作,或者继续显示上面的信息。如果锁定时间看起来不正常,询问一下上面信息里显示的加锁的人是否他正在执行命令。如果他们不在运行 CVS 命令,查看仓库里面在消息中提到的目录并删除它们所属以 #cvs.rfl、 #cvs.wfl 或 #cvs.lock 开始的文件。
上面加粗的地方就是解决方案,结果我们在锁死的目录下发现了几百个锁定文件……再顺便骂一下wincvs,cancel一个操作的话也顺手把锁定文件删除,害两个大老爷们像俩苍蝇似地乱撞。不管怎么样,问题总算解决了,心情无比轻松。


