Verzování: Porovnání verzí

Smazaný obsah Přidaný obsah
Bez shrnutí editace
překlad části článku z anglické wiki
Řádek 8:
 
Verzovací systémy většinou neuchovávají úplný stav každé revize, ale pouze rozdíly mezi jednotlivými revizemi (pomocí nástrojů typu [[diff]]). Informační hodnota je stejná a data jsou velmi malá.
 
==Modely pro správu zdrojových kódů==
 
Tradiční verzovací systémy používají centralizovaný model, kde se se všemi verzemi pracuje na sdíleném [[Server|serveru]]. Pokud se dva vývojáři pokusí změnit stejný soubor ve stejný čas bez použití metod řídících přístup vývojářů, mohou si vzájemně svou práci přepsat. Centralizované verzovací systémy tento problém řeší použitím jednoho ze dvou odlišných "modelů pro správu zdrojových kódů": zamykání souborů, nebo slučování verzí.
 
===Zamykání souborů===
 
Nejjednodušší metodou prevence problémů způsobených "souběžným přístupem" je zamykání souborů. V daný okamžik má přístup ke všem souborům v centrálnímu repozitáři. Jakmile si jeden vývojář uzamkne soubor, ostatní ho mohou číst, ale nemohou tento soubor měnit, dokud ho vývojář neuvolní.
 
Zamykání souborů má jak klady, tak zápory. Systém ochraňuje proti zásadním konfliktům slučování souborů, pokud vývojář radikálně mění mnoho sekcí velkého souboru, nebo velké množství souborů. Nicméně pokud bude jeden vývojář držet soubor zamčený příliš dlouho, ostatní vývojáři se mohou pokusit obejít verzovací systém tím, že soubory změní lokálně a posléze jimi odemčené soubory přepíší a způsobí tím závažné problémy.
 
===Slučování verzí===
 
Většina verzovacích systémů umožňuje více vývojářům upravovat stejný soubor v jeden okamžik. První vývojář nahraje změny do centrálního repozitáře bez potíží. Systém poskytuje dalším vývojářům možnosti, jak sloučit pozdější změny v centrálním repozitáři a ochrání tak změny provedené prvním vývojářem.
 
Slučování dvou souborů může být velice choulostivá operace a často je možná pouze pokud je struktura dat jednoduchá, jako například v textových souborech. Výsledek sloučení dvou obrázků vůbec nemusí být obrázkem. Druhý vývojář, nahrávající [[Zdrojový kód|zdrojový kód]] do repozitáře musí důkladně zkontrolovat, že změny vzniklé při slučování verzí jsou navzájem kompatibilní a že sloučení nezanese logické chyby do výsledného souboru. Tyto problémy omezují schopnost systémů automaticky, či poloautomaticky slučovat soubory, pokud se nejedná o soubory textové. Existují však pluginy umožňující slučování některých typů souborů.
 
== Související články ==