Next: , Up: Some Real Life Problems (With Solutions)


CVS says it is waiting for a lock; what does that mean?

If you see a message like this

     cvs update: [22:58:26] waiting for qsmith's lock in /usr/local/newrepos/myproj

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.

The solution is to remove the lock files by hand from the repository subdirectory in question. Go into that part of the repository and look for files named #cvs.lock or that begin with #cvs.wfl or #cvs.rfl. 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.

See the node Locks in the Cederqvist manual for more details.

Karl Fogel wrote this book. Buy a printed copy via his homepage at red-bean.com

copyright  ©  September 19 2014 sean dreilinger url: http://durak.org/sean/pubs/software/cvsbook/CVS-says-it-is-waiting-for-a-lock_003b-what-does-that-mean_003f.html