System för distribuerade samtidiga versioner

System för distribuerade samtidiga versioner
Utvecklare elego Software Solutions GmbH
Initial release augusti 2002 ; 20 år sedan ( 2002-08 )
Slutlig utgåva
1.0.3 / 25 september 2006 ; 16 år sedan ( 2006-09-25 )
Skrivet i C
Operativ system Unix-liknande , Windows
Typ Revisionskontroll
Licens GNU General Public License
Hemsida dcvs .elegosoft .com

DCVS ( Distributed Concurrent Versions System) är ett distribuerat revisionskontrollsystem som gör det möjligt för programvaruutvecklare som arbetar på lokalt distribuerade webbplatser att effektivt samarbeta i ett programvaruprojekt. DCVS är baserat på det välkända versionskontrollsystemet Concurrent Versions System . Koden är fritt distribuerbar under GNU- och BSD-licenserna.

Motivering

CVS bygger på en ren centralistisk organisationsmodell och erbjuder väldigt lite offlinestöd. Nästan alla versionskontrolloperationer kräver direkt åtkomst till arkivet . Därför möter globalt distribuerade programvaruutvecklingsinsatser stora prestandaproblem vid användning av CVS. DCVS tar itu med detta problem genom att distribuera det centrala CVS-förrådet på många platser.

Funktioner

DCVS tillhandahåller alla CVS-funktioner. Men till skillnad från CVS kan ett DCVS-system omfatta ett godtyckligt antal geografiskt distribuerade arkiv vars innehåll hålls lika i bakgrunden av en utökad version av CVSup , ett program utvecklat av John D. Polstra. Kombinationen av DCVS-arkiv , utökad CVSup-server och DCVS-serverprogram kommer att kallas DCVS-server i följande stycken.

Allt innehåll i alla utvecklingslinjer kan checkas ut från vilken som helst av DCVS-servrarna till en DCVS-arbetsyta som ägs av en utvecklare. Alla operationer som inte modifierar förvaret, såsom diff , patch , log , annotate etc., fungerar precis som i CVS, men de använder alltid det lokala förrådet och är därför mycket snabbare i ett distribuerat scenario. För att undvika kollisioner och dataförlust tilldelas varje DCVS-server en uppsättning utvecklingslinjer (DCVS-grenar) som den är ansvarig för. Ändringar av en filial får endast checkas in på den server som ansvarar för filialen. Separationen av ändringar efter utvecklingslinjer gör det möjligt att automatiskt överföra och distribuera ändringar i DCVS-nätverket. En person som vill genomföra ändringar för en utvecklingslinje som hans lokala DCVS-server inte är ansvarig för kan skapa en ny utvecklingslinje (filial) och commitera ändringarna till den. Den lokala servern är automatiskt ansvarig för alla nyskapade utvecklingslinjer.

Å andra sidan kan varje utvecklare slå samman ändringar från utvecklingslinjer som hans lokala DCVS-server inte ansvarar för till lokala utvecklingslinjer. Således kan alla ändringar som görs på vilken arbetsplats som helst tillämpas på den ursprungliga grenen av utvecklare på den ansvariga DCVS-servern som utför en sammanfogningsoperation .

Funktionaliteten hos ändringsuppsättningar gör det möjligt för utvecklare att producera små uppsättningar ändringar relaterade till en funktion eller en defekt, som sedan kan tillämpas av andra.

Ett specifikt numreringsschema säkerställer att utvecklingslinjer och delta kan identifieras som tillhörande en viss DCVS-server. DCVS tilldelar ett unikt område av filialnummer till varje par (server/samling). Alla intervall för alla servrar och samlingar måste utesluta varandra. Definitionerna för servrar, samlingar och intervall läses från en enda konfigurationsfil. Genom att konsultera innehållet i denna fil kan varje DCVS-server avgöra om den är ansvarig för en viss gren eller delta i en given fil. Om så är fallet är alla modifieringsoperationer tillåtna; Om inte, är ändringsåtgärder endast möjliga på lämplig fjärrserver.

Även de faktiska namnen på konfigurationer, taggarna , är unikt tilldelade till exakt en DCVS-server med hjälp av ett serverspecifikt suffix som utökar alla taggar (dvs. _at_dcvs_mydomain_org). Inga konflikter i taggnamnsutrymmet får alltså uppstå.

Historia

DCVS har utvecklats av teammedlemmar från Elego Software Solutions GmbH i Berlin/Tyskland. Den första utgåvan av DCVS var i augusti 2002. I november 2005 släpptes version 1.0.2.

externa länkar