今天在release一个版本的时候,碰到如下错:
cvs update: [12:58:26] waiting for <username> lock in /CVSroot/dsb/proj/...
google了一下,居然直接找到了解决方案,网络真是个好东西,赞一下,也顺便copy一下文章到这里,给下次可能碰到类似问题的朋友:
CVS says it is waiting for a lock; what does that mean?
it means you're trying to access a subdirectory of the repository that is locked by some other CVS process at the moment. A process is being run in that directory so it may not be in a consistent state for other CVS processes to use.
However, if the wait message persists for a long time, it probably means that a CVS process failed to clean up after itself, for whatever reason. It can happen when CVS dies suddenly and unexpectedly, say, due to a power failure on the repository machine.
[b]The solution[/b] is to [b]remove the lock files by hand[/b] from the repository subdirectory in question. Go into that part of the repository and look for files named [b]#cvs.lock or that begin with #cvs.wfl or #cvs.rfl[/b]. Compare the file's timestamps with the start times of any currently running CVS processes. If the files could not possibly have been created by any of those processes, it's safe to delete them. The waiting CVS processes eventually notice when the lock files are gone – this should take about 30 seconds – and allow the requested operation to proceed.
cvs update: [12:58:26] waiting for <username> lock in /CVSroot/dsb/proj/...
google了一下,居然直接找到了解决方案,网络真是个好东西,赞一下,也顺便copy一下文章到这里,给下次可能碰到类似问题的朋友:
CVS says it is waiting for a lock; what does that mean?
it means you're trying to access a subdirectory of the repository that is locked by some other CVS process at the moment. A process is being run in that directory so it may not be in a consistent state for other CVS processes to use.
However, if the wait message persists for a long time, it probably means that a CVS process failed to clean up after itself, for whatever reason. It can happen when CVS dies suddenly and unexpectedly, say, due to a power failure on the repository machine.
[b]The solution[/b] is to [b]remove the lock files by hand[/b] from the repository subdirectory in question. Go into that part of the repository and look for files named [b]#cvs.lock or that begin with #cvs.wfl or #cvs.rfl[/b]. Compare the file's timestamps with the start times of any currently running CVS processes. If the files could not possibly have been created by any of those processes, it's safe to delete them. The waiting CVS processes eventually notice when the lock files are gone – this should take about 30 seconds – and allow the requested operation to proceed.