Sistem de versiuni simultane

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Sistem de versiuni simultane
software
Tip Controlul versiunii
Dezvoltator Echipa CVS
Data primei versiuni 19 noiembrie 1990
Ultima versiune 1.11.23 (8 mai 2008)
Ultima versiune beta 1.12.13 (28 septembrie 2005)
Sistem de operare Multiplatform
Limba C.
Licență GNU GPL v2 +
( licență gratuită )
Site-ul web www.nongnu.org/cvs/

Sistemul de versiuni simultane ( CVS ), cunoscut și sub denumirea de sistem de versiuni simultane , este un sistem software , care a devenit popular în lumea software-ului gratuit și distribuit sub licența publică generală GNU , care implementează un sistem de control al versiunilor .

Programul ține evidența tuturor lucrărilor și a modificărilor făcute într-un set de fișiere , de obicei implementarea unui software dezvoltat , permițând astfel multor dezvoltatori (potențial îndepărtați) să colaboreze la dezvoltarea codului sursă al echipei accesând aceleași resurse disponibile simultan sau fără a crea conflicte în modificările aduse aceluiași software.

Istorie

CVS a fost dezvoltat dintr-un sistem de control al versiunilor numit Revision Control System (RCS), încă în uz, care gestionează fișiere individuale, dar nu întregul proiect. Dick Grune a furnizat câteva note CVS istorice pe site-ul său:

( RO )

«Am creat CVS pentru a putea colabora cu elevii mei Erik Baalbergen și Maarten Waage la ACK (Amsterdam Compiler Kit) C compilator. Noi trei aveam programe foarte diferite (un elev era un muncitor constant de 9-5, celălalt era neregulat și puteam lucra la proiect doar seara). Proiectul lor a durat din iulie 1984 până în august 1985. CVS a fost numit inițial cmt, din motivul evident că ne-a permis să angajăm versiuni în mod independent. "

( IT )

„Am creat CVS pentru a putea colabora cu elevii mei Erik Baalbergen și Maarten Waage la compilatorul C al ACK (Amsterdam Compiler Kit). Noi trei aveam ore foarte diferite (un elev era un muncitor constant de la 9 la 17 ani, celălalt era neregulat, iar eu nu puteam lucra la proiect decât seara). Proiectul lor s-a desfășurat din iulie 1984 până în august 1985. CVS a fost numit inițial cmt, din motivul evident că ne-a permis să distribuim versiuni în mod independent. "

( Dick Grune , Sistem de versiuni simultane CVS [1] )

Codul a fost distribuit public pe grupul de știri mod.sources pe 23 iunie 1986 . Puteți vedea în continuare postarea originală din Usenet pe Grupuri Google.

Codul care a evoluat în cele din urmă în versiunea curentă a CVS a început cu Brian Berliner în aprilie 1989 , ulterior cu contribuția lui Jeff Polk și a multor alți colaboratori. Brian Berliner a scris o pagină web prezentând îmbunătățirile sale la programul CVS, care descrie modul în care instrumentul a fost extins și utilizat intern de Prisma, un dezvoltator independent care lucrează la kernel-ul SunOS și a fost distribuit comunității sub GPL . [2]

În prezent, un grup de voluntari gestionează codul CVS. Dezvoltarea versiunii CVS pentru Microsoft Windows s- a împărțit într-un proiect numit CVSNT și a fost considerabil mai activă în extinderea setului de caracteristici ale sistemului, atât de mult încât a portat aceste modificări pe platforma UNIX sub numele de CVSNT.

Relația dintre CVS și proiectul GNU poate părea oarecum ambiguă: site-ul GNU distribuie programul, identificându-l ca „pachet GNU” pe o pagină și „alt proiect licențiat GPL” (alte proiecte licențiate GPL) pe alta. Pe site-ul FTP , programul se află în directorul /non-gnu/ .

O serie de dezvoltatori cheie care lucrează la CVS sunt acum responsabili pentru proiectul SVN ( Subversion ), lansat în prima jumătate a anului 2004 și care își propune să înlocuiască CVS pentru a depăși unele dintre limitările sale.

Terminologie

Terminologia CVS denotă un singur proiect (set de fișiere conexe) controlat de CVS ca modul . Un server CVS poate monitoriza multe module și stoca toate modulele în propriul depozit . Copierea unui formular care a fost descărcat de pe server prin intermediul unui client se numește copie de lucru sau sandbox .

Caracteristici

CVS utilizează o arhitectură tipică client-server : un server stochează versiunea curentă a unui proiect și istoricul acestuia, iar clientul se conectează la server pentru a verifica cea mai recentă versiune de software disponibilă și pentru a o utiliza pe aceasta din urmă. De obicei, clientul și serverul se conectează printr-o rețea LAN sau Internet , dar clientul și serverul pot rula ambele pe aceeași mașină, dacă CVS are sarcina de a urmări istoricul versiunilor unui proiect numai cu un dezvoltator local.

Software-ul server rulează în mod normal pe Unix (deși există și un server CVS pe Windows NT ), în timp ce clienții CVS pot rula pe un număr mai mare de sisteme de operare .

Funcții

Mulți clienți pot publica simultan copii ale proiectelor. Atunci când înregistrează modificările, serverul încearcă să le îmbine. Dacă acest sistem eșuează, de exemplu, deoarece doi clienți au încercat să schimbe aceeași linie într-un anumit fișier, serverul neagă a doua operațiune de înregistrare și îl informează pe client despre conflict, care va fi rezolvat manual de către utilizator. Dacă operațiunea de înregistrare are succes, atunci numerele de versiune ale tuturor fișierelor implicate sunt automat incrementate, iar serverul CVS scrie o linie de descriere furnizată de utilizator, data și numele autorului în fișierul său jurnal .

De asemenea, clienții pot compara diferite versiuni ale fișierelor, pot solicita un istoric complet al modificărilor sau pot verifica o fotografie istorică a proiectului de la o anumită dată și număr de revizuire. Multe proiecte open source permit „accesul de citire anonim”, o caracteristică care a fost pionierul OpenBSD . Aceasta înseamnă că clienții pot verifica și compara versiuni prin spațiu alb sau pur și simplu cu parola publicată (de exemplu „anoncvs”); numai pentru înregistrarea unei modificări sunt necesare un cont personal și o parolă.

Clienții pot utiliza, de asemenea, actualizarea (actualizarea) comenzii pentru a-și standardiza copiile locale cu versiunea mai nouă de pe server. Aceasta elimină necesitatea descărcărilor repetate ale întregului proiect. CVS poate menține, de asemenea, diferite „ramuri” (ramuri, ramuri plural ) ale unui proiect. De exemplu, o versiune distribuită a proiectului poate forma o ramură, care este utilizată pentru a remedia erorile, în timp ce o versiune în curs de dezvoltare, cu mai multe modificări și caracteristici noi, formează o ramură separată. Folosește compresia delta pentru stocarea eficientă a diferitelor versiuni ale aceluiași fișier.

Notă

  1. ^ Dick Grune , Sistemul de versiuni simultane CVS , la dickgrune.com . Adus la 20 februarie 2017 ( arhivat la 21 ianuarie 2013) .
  2. ^ Brian Berliner, CVS II: Parallelizing Software Development (1990) , la citeseer.ist.psu.edu (arhivat din original la 9 septembrie 2004) .

Bibliografie

Elemente conexe

linkuri externe

Controlul autorității VIAF (EN) 179 955 429 · LCCN (EN) n99833687 · GND (DE) 4597700-8 · BNF (FR) cb135668548 (data)
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT