Diferența dintre CVS și Subversiune

CVS vs. Subversiune

Sistemul de versiuni concomitent (cunoscut și ca sistem de versiuni concomitent sau CVS) este un sistem de control al revizuirii software-ului liber - adică este un program deschis publicului pentru gestionarea modificărilor aduse documentelor, programelor și altor informații stocate în computer fișiere). Permite mai multor dezvoltatori să colaboreze.

Subversion (cunoscut și sub numele de SVN) este un sistem de control al versiunii utilizat pentru a menține versiunile curente și cele anterioare ale fișierelor (cum ar fi codul sursă, paginile web și documentația). Este o actualizare directă a CVS și a succesorului său cel mai compatibil. Este, de asemenea, o tehnologie open source și a fost utilizată pe scară largă în mai multe proiecte - cum ar fi Apache Software Foundation, Free Pascal, MediaWiki și cod Google.

CVS utilizează arhitectura serverului client - aceasta înseamnă că un server stochează o versiune curentă (sau versiuni) a unui anumit proiect, precum și salvează istoricul acestuia. Clientul se conectează apoi la server ca mijloc de a "verifica" o copie a proiectului care a fost finalizată înainte de a se conecta la server. Clientul este apoi capabil să lucreze la această copie a proiectului și apoi să verifice modificările pe care le-a făcut mai târziu. Pe lângă faptul că permite unui client să se înregistreze pe o copie a unui anumit proiect, CVS permite mai multor clienți să lucreze și să conecteze același proiect simultan. Clienții vor putea să modifice fișierele în propria copie de lucru a proiectului și să trimită aceste modificări pe server.

Subversiunea comite - că este, creează un set de schimbări tentative și le face permanente - ca adevărat atomic (sau o serie de operațiuni de date în care se întâmplă fie totul, fie nu se întâmplă nimic). Subversiunea permite utilizatorilor să redenumească, să copieze, să se mute și / sau să elimine fișierele; cu toate acestea, aceste fișiere își vor păstra istoricul complet al revizuirilor. Acest sistem utilizează ieșirea parsibilă, designul bibliotecii layere nativ client / server și ramificarea și etichetarea ca operații ieftine (independent de dimensiunea fișierului). Exista legaturi de limbaj pentru PHP, Python, Perl si Java. Subversiunea costă, de asemenea, în funcție de dimensiunea schimbării și nu de dimensiunea datelor.

CVS poate menține diferite ramuri ale unui proiect - adică diferite aspecte sau permutări ale aceluiași proiect se pot separa de proiectul sursă, iar CVS va menține toate versiunile (o versiune lansată a proiectului formează o ramură pentru remedierea erorilor, în timp ce o versiune diferită care este în curs de dezvoltare poate conține noi caracteristici și schimbări majore și poate forma o ramură a aceluiași proiect, de exemplu).

Rezumat:
1. CVS permite mai multor utilizatori să colaboreze în același proiect; Subversion menține versiunile curente și cele anterioare ale fișierelor.
2. CVS permite utilizatorilor să se prezinte la același proiect și să îl modifice; Subversiunea se comportă ca operații atomice adevărate.
3. CVS poate întreține diferite ramuri ale unui proiect; Subversiunea utilizează ieșirea parsibilă.