Forskellen mellem CVS og Subversion

CVS vs. Subversion

Concurrent Versions System (også kendt som Concurrent Versioning System eller CVS) er et gratis softwarerevisionskontrolsystem - det er, det er et program, der er åbent til brug for offentligheden, der administrerer ændringer til dokumenter, programmer og anden information, der er gemt på computeren filer). Det giver flere udviklere mulighed for at samarbejde.

Subversion (også kendt som SVN) er et versionskontrolsystem, der bruges til at vedligeholde den aktuelle og foregående version af filer (som kildekode, websider og dokumentation). Det er en direkte opgradering af CVS og dens mest kompatible efterfølger. Det er også en open source-teknologi og er blevet brugt meget i flere projekter - så som Apache Software Foundation, Free Pascal, MediaWiki og Google-kode.

CVS bruger klientserverarkitektur - det betyder, at en server gemmer en nuværende version (eller versioner) af et bestemt projekt samt gemmer dets historie. Klienten opretter derefter forbindelse til serveren som et middel til at "tjekke ud" en kopi af det projekt, der er afsluttet, før han tilsluttede serveren. Klienten er derefter i stand til at arbejde på denne kopi af projektet og derefter kontrollere de ændringer, han har foretaget senere. Ud over at give en klient mulighed for at checke ind på en kopi af et bestemt projekt, giver CVS flere klienter mulighed for at arbejde på og tjekke ind på det samme projekt samtidigt. Klienterne kan ændre filerne i deres egen arbejdskopi af projektet og sende disse redigeringer til serveren.

Subversion forpligter sig - det er, skaber et sæt tentative ændringer og gør dem permanente - som ægte atomare (eller en række datafunktioner, hvor enten alt sker eller intet sker) operationer. Subversion giver også brugere mulighed for at omdøbe, kopiere, flytte og / eller fjerne filer; disse filer vil dog beholde deres fulde revisionshistorik. Dette system bruger parsbar output, nativt klient / server lagdelt biblioteksdesign og forgrening og tagging som billige operationer (uafhængigt af filstørrelsen). Der er sprogbindinger til PHP, Python, Perl og Java. Undergravning koster også afhængigt af ændringsstørrelsen og ikke størrelsen på dataene.

CVS kan vedligeholde forskellige grene af et projekt - det er at sige, forskellige aspekter eller permutationer af det samme projekt kan forgrene sig fra kildeprojektet, og CVS vil vedligeholde alle versioner (en frigivet version af projektet danner en gren til bug fixes, mens en anden version, der i øjeblikket er under udvikling, kan indeholde nye funktioner og større ændringer og danne en gren af ​​det samme projekt, for eksempel).

Resumé:
1. CVS giver flere brugere mulighed for at samarbejde om det samme projekt; Subversion opretholder de nuværende og foregående versioner af filer.
2. CVS giver brugerne mulighed for at tjekke ind på det samme projekt og ændre det; Subversion forpligter sig som ægte atomoperationer.
3. CVS kan vedligeholde forskellige grene af et projekt; Subversion bruger udskrivbar output.