Het komt erop neer dat CVS en Subversion systemen zijn die ervoor zorgen dat meerdere developers met dezelfde bestanden kunnen werken zonder dat je met elkaars wijzigingen in de knoei komt. Zodra meerdere mensen hetzelfde bestand bewerken, kan het systeem alle wijzigingen vaak automatisch mergen zodat er geen wijzigingen verloren gaan. Als dat niet kan (bijvoorbeeld meerdere mensen vervangen dezelfde regel(s) code), geeft het systeem de nodige info om het handmatig te doen. Het systeem verzekert ook dat men altijd met de laatste versie moet werken voordat er een wijziging gecommit kan worden naar de server.
Kortom: een onmisbare tool voor een beetje programmeerproject... zelfs als je het in je eentje doet, omdat het bijhouden van je wijzigingen sowieso handig is
Als je er nu mee gaat beginnen zou ik inderdaad gelijk Subversion kiezen... steeds meer open source projecten converteren hun CVS-repositories zo langzamerhand naar Subversion, omdat het gewoon beter werkt en veel vervelende dingen in CVS heeft opgelost. Bij CVS kon je niet eens simpel directories van een repository verwijderen of dingen verplaatsen/renamen, in Subversion wordt dit ook gewoon als een verandering opgenomen in de log. Non-text bestanden kan je wel uploaden naar je repository, maar meer dan dat kan je er niet echt mee inderdaad, zoals differences opvragen etc.
TortoiseSVN is overigens een heerlijke Subversion-client voor Windows, prachtig geïntegreerd in de Windows-shell
Een aanrader.