Diferența dintre CVS și SVN

CVS vs SVN

CVS (System Versions Concurrent) și SVN (SubVersioN) sunt două sisteme de fișiere de control al versiunilor care sunt folosite în mod obișnuit de echipe care colaborează într-un singur proiect. Aceste sisteme permit colaboratorilor să urmărească schimbările care sunt făcute și să știe cine dezvoltă care și dacă o ramură ar trebui să fie aplicată pe trunchiul principal sau nu. CVS este mult mai veche dintre cele două și a fost instrumentul standard de colaborare pentru o mulțime de oameni. SVN este mult mai nouă și introduce multe îmbunătățiri pentru a răspunde cerințelor majorității oamenilor.

Probabil cea mai mare îmbunătățire a SVN este adăugarea de comitete atomice. Comenzile atomice permit fiecărui angajament să fie aplicat în totalitate sau deloc. Acest lucru poate fi foarte util atunci când serverul se blochează în mijlocul unei comiteri. Cu SVN, comitetul poate fi derulat în timp ce CVS nu poate anula comiterea parțială. O altă adăugire este abilitatea de a redenumi cu ușurință și de a muta fișierele în depozit. Cu SVN, fișierele care au fost redenumite sau eliminate au în continuare istoricul reviziilor și metadatele. De asemenea, CVS nu poate impinge noi modificări în depozitele părinte, în timp ce aceasta poate fi realizată în SVN cu ajutorul unor instrumente. Aceste caracteristici nu sunt pur și simplu susținute de CVS sau nu fac parte din designul său inițial și cauzează adesea o mulțime de probleme pentru unii oameni.

În ceea ce privește accesul fie printr-o rețea, ambele suportă protocoale proprietare care pot fi tunate printr-o conexiune SSH pentru a asigura securitatea informațiilor care sunt transmise prin rețea. SVN adaugă un pic mai mult cu WebDAV + DeltaV. Acest protocol se bazează pe HTTP și HTTPS și oferă utilizatorilor o altă opțiune de conectare la SVN.

Pentru majoritatea persoanelor care încep doar cu SVN și CVS, SVN este opțiunea superioară și logică dintre cele două. Oferă utilizatorului setul corespunzător de funcții care să corespundă nevoilor acestuia. Singurul motiv pentru a continua să utilizați CVS este dacă sunteți blocat cu un sistem de moștenire care este destul de dificil de mutat într-un sistem SVN.

Rezumat:
1. SVN este mai nouă și mai avansată comparativ cu CVS mult mai vechi
2. SVN permite comiterea atomică, în timp ce CVS nu o face
3. SVN permite redenumirea și mutarea în timp ce CVS nu o face
4. SVN permite propagarea modificărilor în repozitorii părinte în timp ce CVS nu o face
5. SVN acceptă două protocoale de rețea, în timp ce CVS suportă doar unul