Subversion ( SVN ) en het Concurrent Versions System ( CVS ) zijn twee van de bekendste en meest gebruikte versie controle systemen voor het beheer van de honderden documenten die in de typische programmering project bestaan . Beide , op hun eigen manier , waardoor een heel team van programmeurs om te werken aan dezelfde bestanden terwijl het minimaliseren van de tijd en moeite die het kost om wijzigingen samen te voegen , maar ze zijn veel verschillend in hoe ze werken . Storage Format CVS slaat alle bestanden in het project in een vertakking reeks mappen op het bestandssysteem . Aan de andere kant , SVN slaat zijn bestanden in een database : ofwel BerkleyDB of FSFS . Dit maakt CVS langzamer dan SVN , maar het maakt het ook zo dat CVS -bestanden kunnen worden opgehaald bij een ramp met alleen gewone file manager tools zoals Windows Verkenner of de BASH-shell . SVN databases kunnen worden beschadigd , en speciaal gereedschap nodig om bestanden op te halen uit de repository wanneer dit gebeurt . Transacties CVS winkels projecten op een file- by - bestand basis. Dit maakt het systeem iets eenvoudiger , omdat de programmeur in en uit afzonderlijke bestanden kunt controleren , maar het heeft een vervelende bijwerking. Programmeurs niet de neiging om wijzigingen aan te brengen in slechts een bestand . Integendeel, wijzigingen in een bestand nodig kleine aanpassingen aan anderen . Met CVS , is het mogelijk om een netwerk probleem om enkele van de gewijzigde bestanden worden bijgewerkt op de repository veroorzaken , mogelijk breken van de bouw en waardoor een groot deel van de verwarring op het team als het probleem niet onmiddellijk gevangen . SVN commits bestanden als een project en doet dit met behulp van een " transactie " concept: Ofwel alle veranderingen zijn succesvol inzetten voor de server , of niets is vastbesloten Bestandstypen . CVS is ontworpen om alleen te gaan met tekstgegevens plain ( zo wordt normaal gevonden in de broncode ) . Echter , het is een zeldzame programmeerprogramma dat niet ten minste enkele niet - tekstgegevens , zoals grafische iconen , aangepaste muisaanwijzer of logos . CVS kan worden aangepast om te gaan met niet-tekstuele gegevens , maar SVN ondersteunt alle bestandstypen rechtstreeks zonder enige andere wijzigingen of customisation . Takken In CVS , elk bestand is zijn eigen versie nummer automatisch toegewezen . Wanneer het project wordt uitgecheckt , wordt de meest recente versie van elk bestand die aan de programmeur . In SVN , het hele project heeft een versie . Hoewel bestanden worden nooit onnodig gedupliceerd op de server ( om ruimte te besparen ) , de interface aan de gebruiker is dat elke ooit commit gedaan om de server is direct toegankelijk om ze door versie nummer , zonder te specificeren bouwen data of tag -nummers . < br >
|