![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Revision_controlled_project_visualization.svg/langcs-640px-Revision_controlled_project_visualization.svg.png&w=640&q=50)
Repozitář (verzování)
From Wikipedia, the free encyclopedia
Repozitář (anglicky repository) je takové datové úložiště verzovacího systému, ze kterého je standardním způsobem (způsobem předepsaným daným verzovacím systémem) možné vytvářet další úložiště, jinými slovy jeho obsah klonovat; tím se odlišuje od tzv. pracovní kopie (anglicky working copy), jež duplikaci nepřipouští.
![Thumb image](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Revision_controlled_project_visualization.svg/300px-Revision_controlled_project_visualization.svg.png)
Obecně lze repozitář chápat jako vysoce specializovaný souborový systém, jehož neodmyslitelnou funkcí je poskytování detailních informací o jednotlivých změnách, i neomezeně hluboko do minulosti, a zastřešování souběžně předkládaných změn ve více souborech jedním identifikátorem. V obecném pojetí repozitáře podporují stromovou strukturu zařazení souborů a vnější reprezentací dat se velice blíží skutečným souborovým systémům.
Nad obvyklé možnosti souborových systémů repozitáře zpravidla nabízejí možnost souborům přidělovat zvláštní atributy, jež mohou ovlivňovat zacházení se soubory při základních verzovacích operacích (check out
, update
, commit
). Vývojářům tato vymoženost může být k užitku např. tehdy, když nějaká entita ukládá pomocné (dočasné) soubory do adresáře se soubory se zdrojovými kódy projektu. Značkovat bývá možné i operace commit
.
Na rozdíl od pracovních kopií repozitáře nemusí fyzicky uchovávat aktuální (poslední) verzi souboru, ale jen jeho první revizi a všechny (následné) změny, vyjádřené inkrementálně (diferenciálně); to zjednodušuje implementaci ukládání dat repozitáře, zejména v případě textových souborů. V porovnání se souborovými systémy u repozitářů verzovacích systémů není tak důležitá rychlost přístupu k datům.
Novější verzovací systémy (kupř. systém git) umožňují, aby každý soubor byl aktuální ve více podobách, tzv. větvích (anglicky branches), současně. Větev je potom vlastností (parametrem) každé operace commit
.