CVS versus Subversion
Concurrent Versions System (ook bekend als Concurrent Versioning System of CVS) is een gratis softwarerevisiesysteem - dat wil zeggen, het is een programma dat open staat voor gebruik voor het publiek dat wijzigingen in documenten, programma's en andere informatie die zijn opgeslagen op de computer beheert. bestanden). Hiermee kunnen meerdere ontwikkelaars samenwerken.
Subversion (ook bekend als SVN) is een versiecontrolesysteem dat wordt gebruikt om de huidige en voorgaande versies van bestanden te onderhouden (zoals broncode, webpagina's en documentatie). Het is een directe upgrade van CVS en de meest compatibele opvolger. Het is ook een open source-technologie en wordt veel gebruikt in meerdere projecten, zoals Apache Software Foundation, Free Pascal, MediaWiki en Google-code.
CVS gebruikt client server-architectuur - dit betekent dat een server een huidige versie (of versies) van een bepaald project opslaat en zijn geschiedenis bewaart. De client maakt vervolgens verbinding met de server als middel om een kopie van het project te 'controleren' dat is voltooid voordat hij verbinding met de server maakt. De cliënt kan dan aan dit exemplaar van het project werken en vervolgens de wijzigingen controleren die hij later heeft aangebracht. De CVS biedt niet alleen de mogelijkheid om een kopie van een bepaald project in te checken, maar laat ook meerdere klanten toe om hetzelfde project gelijktijdig te bekijken en in te checken. De clients kunnen de bestanden binnen hun eigen werkkopie van het project wijzigen en deze bewerkingen naar de server verzenden.
Subversion commits - dat wil zeggen, maakt een reeks van tentatieve veranderingen en maakt ze permanent - als echte atomaire (of een reeks van gegevensbewerkingen waarbij alles plaatsvindt of niets gebeurt) operaties. Subversion biedt gebruikers ook de mogelijkheid bestanden te hernoemen, kopiëren, verplaatsen en / of verwijderen; deze bestanden behouden echter hun volledige revisiegeschiedenis. Dit systeem maakt gebruik van parsable-uitvoer, oorspronkelijk client / server gelaagde bibliotheekontwerp en vertakking en tagging als goedkope bewerkingen (onafhankelijk van de grootte van het bestand). Er zijn taalbindingen voor PHP, Python, Perl en Java. Subversion kost ook volgens de wijzigingsgrootte en niet de grootte van de gegevens.
CVS kan verschillende takken van een project onderhouden, dat wil zeggen, verschillende aspecten of permutaties van hetzelfde project kunnen afwijken van het bronproject en CVS zal alle versies behouden (een vrijgegeven versie van het project vormt één tak voor bugfixes, terwijl een andere versie die momenteel wordt ontwikkeld, kan nieuwe functies en belangrijke wijzigingen bevatten en een tak van hetzelfde project vormen, bijvoorbeeld).
Samenvatting:
1. Met CVS kunnen meerdere gebruikers samenwerken aan hetzelfde project; Subversion onderhoudt de huidige en vorige versies van bestanden.
2. Met CVS kunnen gebruikers inchecken bij hetzelfde project en dit aanpassen; Subversion verbindt zich als echte atomaire operaties.
3. CVS kan verschillende takken van een project onderhouden; Subversion maakt gebruik van parsable-uitvoer.