Verzování
správa verzí počítačových souborů / From Wikipedia, the free encyclopedia
Verzování je uchovávání historie veškerých změn provedených v informacích nebo datech. Nejčastěji se používá pro sledování změn ve zdrojových kódech softwaru během jeho vývoje, ale verzovat lze všechny počítačové soubory, a v případě potřeby se verzují i primární data.
Vývoj softwaru |
---|
|
|
|
|
|
|
|
Systém správy verzí (Version control system, VCS) obvykle eviduje, kdo, kdy a jakým způsobem změnil které řádky zdrojového kódu programu. Díky tomu lze zobrazit přesný stav sledovaných souborů kdykoliv v minulosti, a pokud úpravy způsobily nežádoucí chování, lze se vrátit ke starší verzi souborů. Každé změně provedené v určitém souboru bývá přiděleno unikátní číslo, obvykle nazývané číslo revize.
Neméně významným prvkem verzování je možnost spolupráce velkého množství programátorů na jednom softwarovém projektu, protože verzovací programy hlídají a pomáhají řešit případné kolize (situace, kdy stejné části zdrojového kódu mění dva či více programátorů současně). K tomu často dochází při vývoji open source programů, na němž se mohou podílet desítky nebo stovky programátorů z celého světa, kteří nejsou v přímém kontaktu. Jakýkoliv větší projekt si dnes nelze bez verzování představit.
Nejznámějšími představiteli verzovacích systémů jsou CVS a Apache Subversion, oba volně dostupné a open source. Oba systémy jsou centralizované – data ukládají na jediný server a většina použití systému (uložení změny, zkoumání změn, návrat k předchozí verzi …) vyžaduje komunikaci se serverem. Na vzestupu je používání distribuovaných systémů správy verzí, u kterých může mít každý vývojář kopii celé historie lokálně, což umožňuje rychlejší práci. Mezi známé distribuované systémy správy verzí patří například Git, Bazaar, Mercurial a další.
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). Tím se obvykle šetří prostor, nevýhodou však bývá zpomalení přístupu.