vergrendelen

Het ontwikkelmodel dat meestal wordt gevolgd met CVS wordt unreserved checkouts genoemd. Iedere ontwikkelaar heeft zijn eigen sandbox waar hij zijn bestanden naar hartelust kan bewerken. Wanneer een van de watch mogelijkheden wordt gebruikt zoals cvs edit, kunnen verschillende ontwikkelaars tegelijkertijd synchroon aan bestanden werken. Veranderingen die gedaan zijn door een andere ontwikkelaar worden samengevoegd (merge) in de lokale sandbox wanneer men een bijwerking (update) uitvoert.

Andere revisie controlesystemen zoals RCS en SourceSafe gebruiken een ander model. Wanneer een ontwikkelaar een bestand wil bewerken, zal hij deze moeten vergrendelen. Er kan maar een ontwikkelaar tegelijkertijd een bestand vergrendelen. Wanneer hij klaar is met bewerken zal de vergrendeling worden verwijderd. Aan de ene kant zijn met dit model geen conflicten mogelijk. Aan de andere kant kunnen twee ontwikkelaars niet tegelijkertijd werken aan hetzelfde bestand, zelfs wanneer de gemaakte wijzigingen geen invloed op elkaar hebben. Dit kan soms een probleem zijn. We gaan hier niet verder op in wat de organisatorisch voordelen zijn van beide benaderingen. Toch willen we aangeven dat CVS ondersteuning heeft voor vergrendeling, alhoewel het niet de geprefereerde manier is van hoe je kunt werken met CVS Je kunt het beste deze mogelijkheden niet gebruiken tenzij je er zeker van bent dat de projectmanager het toestaat.

Met Cervisia kun je als volgt bestanden vergrendelen. Kies de gewenste bestanden in de hoofdweergave. Kies dan GeavanceerdBestanden vergrendelen. Dit zal het commando uitvoeren:

cvs admin -l bestandsnamen

Het omgekeerde effect wordt bereikt met GeavanceerdBestanden ontgrendelen. Dit zal het commando uitvoeren:

cvs admin -u bestandsnamen