Wees Subversief
Ik las in Linux Format een artikel over Subversion, een programma om veranderende tekstbestanden op te volgen. Meestal wordt het gebruikt voor broncode van computerprogramma’s. Het wordt beschouwd als een opvolger voor CVS, het Concurrent Versions System, dat erg populair was in open source/free software projecten. Daar wordt dikwijls aan code gewerkt door programmeurs van over heel de wereld, en de resultaten worden verzameld op een webserver, waar ze bereikbaar zijn voor elkaar of gebruikers.
Programmeurs gebruiken versie-systemen om samen aan dezelfde broncode te kunnen werken, en toch enige controle te hebben over de uiteindelijke versie en de wijzigingen eraan. Per toeval zouden immers twee programmeurs aan hetzelfde stukje programma bezig kunnen zijn, en als men niet oplet dan wordt een gewijzigde versie overschreven door een andere versie met wijzigingen van iemand anders. CVS zorgt voor een alarmbel, en helpt de programmeurs bij het vergelijken van de verschillen.
Het opvallende in het artikel was de benadering om alle documenten te beschouwen als wijzigende (tekst)bestanden. Je kan al je werk onder beheer brengen van een versie-beheer systeem, waardoor je gemakkelijk kan controleren welke veranderingen je wanneer hebt aangebracht. En als het nodig is kan je een aantal stappen terug gaan, en een oudere versie ophalen die je beter vindt.
Subversion werkt als een soort secretariaat voor het beheren van je werk. Na het opzetten van het systeem vraag je aan Subversion de huidige versie. Je werkt daaraan, en als je klaar bent lever je het werk weer in. Subversion houdt de hele evolutie bij, zodat je later per datum de wijzigingen kan opvragen, en eventueel terugdraaien of op een andere manier gebruiken.
Als je vanop verschillende plaatsen aan een tekst schrijft, kan je een Subversion systeem op een server je werk laten beheren. Je haalt telkens vanop een andere locatie de werkversie af om eraan te werken, en levert ze terug in waarna ze als nieuwe werkversie klaar staat op de server. Moest je ergens vergeten in te leveren zijn, en dus eigenlijk voortwerken aan een oudere versie, zal het systeem laten zien wat de verschillen zijn op het moment dat je ze als als werkversie probeert in te leveren.
Subversion is een command-line programma waarvoor hulpmiddelen bestaan om het vanuit de grafische werkomgeving te gebruiken; en bestaat voor Linux, Mac OS-X en andere commerciele software systemen.
Ik plan het zelf te gaan installeren, en geef alvast volgende links mee:
CVS: www.nongnu.org/cvs/
SVN: subversion.tigris.org/
Boek: Version Control with Subversion