Forskjellen mellom CVS og SVN

CVS vs SVN

CVS (Samtidig Versions System) og SVN (SubVersioN) er to versjonskontroll filsystemer som populært brukes av lag som samarbeider på et enkelt prosjekt. Disse systemene tillater samarbeidspartnere å holde oversikt over endringene som er gjort og vite hvem som utvikler hvilken og hvorvidt en gren skal brukes på hovedstammen eller ikke. CVS er den mye eldre av de to, og det har vært standard samarbeidsverktøy for mange mennesker. SVN er mye nyere og det introduserer mange forbedringer for å imøtekomme kravene til de fleste.

Sannsynligvis er den største forbedringen til SVN tillegg av atomforpliktelser. Atomiske begår tillater at hver forpliktelse blir brukt helt eller ikke i det hele tatt. Dette kan være ganske nyttig når serveren krasjer midt i et commit. Med SVN kan forplikten bli rullet tilbake mens CVS ikke kunne angre partisk forpliktelse. Et annet tillegg er evnen til å rename renne og flytte filene i depotet. Med SVN har filene som er omdøpt eller fjernet, fortsatt deres revisjonshistorikk og metadata. CVS er heller ikke i stand til å presse noen nye endringer i oppbevaringssteder, mens det kan oppnås i SVN ved hjelp av noen verktøy. Disse funksjonene støttes ikke enkelt av CVS eller var ikke en del av det opprinnelige designet og forårsaker ofte mange problemer for noen mennesker.

Når det gjelder tilgang til enten via et nettverk, støtter begge proprietære protokoller som kan tunneles gjennom en SSH-forbindelse for å sikre sikkerheten til informasjonen som overføres over nettverket. SVN legger til litt mer med WebDAV + DeltaV. Denne protokollen er basert på HTTP og HTTPS, og gir brukere et annet alternativ for å koble til SVN.

For de fleste som nettopp har startet med SVN og CVS, er SVN det overlegne og logiske alternativet mellom de to. Det gir brukeren den riktige funksjonen som passer til hans behov. Den eneste grunnen til å fortsette å bruke CVS er hvis du sitter fast med et eldre system som er ganske vanskelig å flytte til et SVN-system.

Sammendrag:
1. SVN er nyere og mer avansert i forhold til den mye eldre CVS
2. SVN tillater atomforbindelse mens CVS ikke gjør det
3. SVN tillater omdøping og flytting mens CVS ikke gjør det
4. SVN tillater forplantningsendringer til foreldrebeholdninger mens CVS ikke gjør det
5. SVN støtter to nettverksprotokoller mens CVS bare støtter en