'''Verzování''' je způsob uchovávání historie veškerých provedených změn obecně u jakékoliv digitální informace. Nejčastěji se tento pojem používá u [[Zdrojový kód|zdrojových kódů]] [[software]], kdy se evidují změny provedené v jednotlivých [[verze|verzích]] během stádia vývoje softwarového projektu. Verzovat lze všechny počítačové soubory, v případě potřeby se verzují i primární data.
V praxi si to lze představit tak, že si systém správy verzí eviduje, kdo, kdy a jakým způsobem změnil které řádky zdrojového kódu programu. To slouží nejenom k úplnému přehledu všech změn, ale také možnost vidět přesný stav sledovaných dat v kdykoliv v minulosti a také vrátit se k předchozí [[verze|verzi]] daného programu v případě, že během dalšího vývoje dojde k chybám. Každé změně provedené ve zdrojových kódech je přidělováno unikátní číslo, označované většinou jako '''číslo revize'''.
Neméně významným prvkem verzování je možnost spolupráce velkého množství [[Vývojář|programátorů]] na jednom softwarovém projektu, protože verzovací programy hlídají a řeší případné kolize (situace, kdy dva či více programátorů současně mění stejné části zdrojového kódu). To je základ vývoje [[Otevřený software|open source]] programů, kdy spolupracují desítky, někdy však i stovky programátorů z celého světa, aniž by museli být 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 [[Subversion]], oba volně dostupné a [[Otevřený software|open source]]. Obojí jsou systémy centralizované —– data jsou ukládána na jediný server a většina využ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]]). Informační hodnota je stejná a data jsou velmi malá.
== Související články ==
== Externí odkazy ==
* [http://svnbook.red-bean.com/ Manuál k Subversion] s výtečným úvodem do verzování a obecně používaných technik
* [http://www.root.cz/clanky/git-a-subversion/ Git a Subversion]
* [[:en:List_of_revision_control_software]] – seznam nástrojů pro verzování (anglická Wiki)
* [http://www.abclinuxu.cz/clanky/distribuovane-verzovaci-systemy-uvod-1 Distribuované verzovací systémy – úvod (1)]
|