Subversion (SVN ) og Concurrent Versions System ( CVS) er to af de bedst kendte og mest udbredte version kontrol systemer til at forvalte de hundredvis af dokumenter, der findes i den typiske programmeringsprojekt . Både på deres egen måde , så et helt hold af programmører til at arbejde på de samme filer og samtidig minimere den tid og kræfter, det tager at flette ændringer, men de er meget forskellige i , hvordan de arbejder . Storage Format
CVS gemmer alle filerne i projektet i en forgrening sæt mapper på filsystemet. På den anden side , gemmer SVN sine filer i en database : enten BerkleyDB eller FSFS . Dette gør CVS langsommere end SVN , men det gør det også så CVS -filer kan hentes i en katastrofe kun bruger almindelige filhåndtering værktøjer som Windows Stifinder eller BASH shell. SVN databaser kan blive beskadiget , og specialværktøj er påkrævet for at hente filer ud af lageret , når dette sker .
Transaktioner
CVS gemmer projekter på en fil -by- fil basis. Dette gør systemet noget enklere , da programmøren kan tjekke ind og ud enkelte filer , men det har en grim bivirkning. Programmører ikke har tendens til at foretage ændringer til kun én fil. Snarere ændringer til en fil kræver små ændringer andre. Med CVS, er det muligt for et netværk problem at forårsage nogle af de ændrede filer, der skal opdateres på lageret , hvilket potentielt bryde build og forårsager en stor forvirring på holdet , hvis problemet ikke er fanget med det samme. SVN begår filer som et projekt og så gør ved hjælp af en "transaktion" koncept: Enten alle de ændringer er lykkedes forpligtet til serveren, eller intet er forpligtet
Filtyper
. Salg
CVS var designet til kun at behandle almindelig tekst data ( som er normalt findes i kildekode) . Dog dens en sjælden programmering program, der ikke omfatter mindst nogle ikke- tekst- data, såsom grafiske ikoner , brugerdefinerede musemarkører og logoer. CVS kan modificeres til at beskæftige sig med ikke - tekst- data, men SVN understøtter alle filtyper direkte uden anden ændring eller tilpasning .
Filialer
CVS, hver fil tildeles automatisk sin egen version nummer. Når projektet er tjekket ud, er den seneste version af hver fil, der til programmøren . I SVN har hele projektet en version . Selvom filer aldrig er duplikeret unødigt på serveren ( for at spare plads ) , grænsefladen leveres til brugeren er, at hver nogensinde afsætter til serveren er umiddelbart tilgængelig for dem med versionsnummeret , uden at specificere bygge datoer eller mærkenumrene . < br >