Locking

The development model usually followed when CVS is used is called unreserved checkouts. Each developer has his own sandbox where he can edit files as he likes. If when the watch features - like cvs edit - are used, multiple developers can work on files synchronously. Changes done by a different developer are merged into the local sandbox when an update is performed.

Other revision control systems - like RCS and SourceSafe use a different model. When a developer wants to a edit a file, he has to lock it. Only one developer at a time can a lock a file. When he has finished editing, the lock is released. On the one hand, with this model, conflicts can never happen. On the other hand, two developers cannot work on the same file at the same time, even when their changes do not affect each other. This can be a bottleneck. We are not going to discuss the organizational benefits of both approaches. Nevertheless we mention that although CVS has some support for locking, it is not the preferred way of working with CVS. You should not use these features unless you are sure that your project manager allows them.

With Cervisia, you lock files as follows. Select the desired files in the main view. Then choose AdvancedLock Files. This runs the command

cvs admin -l file names

The reverse effect is achieved by using AdvancedUnlock Files. This runs the command

cvs admin -u file names