Základní pojmy Mercurialu
Decentralizovaný model Mercurialu může být pro nového uživatele matoucí. Tato stránka se pokouší osvětlit některé z jeho základních pojmů. Postupný výklad viz Tutorial Mercurialu.
Contents
1. Pracovní adresář - repozitórium
Pracovní adresář v Mercuriálu má tyto vlastnosti:
Je to adresář, ve kterém právě pracujeme a je součástí souborového systému v počítači. Od běžného pracovního adresáře se liší tím, že jeho chování je ovlivňováno programem Mercuriál. Zaslouží si tedy vlastní označení - například repozitórium.
Obsahuje složku .hg neboli repozitář a případně další provozní soubory (.hgrc, .hgignore, ...).
- Obsahuje soubory a složky, které jsou součástí projektu. Přítomnost všech těchto složek v adresáři je Mercuriálem reflektovaná, složky jsou přitom pojímány jenom jako objekty na cestě k souborům.
Soubory, které jsou uvedeny v souboru .hgignore, jsou Mercuriálem ignorovány. Soubory, jejichž název byl alespoň jednou akcí "commit" uložen do složky .hg/store/ repozitáře, jsou soubory sledované.
Míra pozornosti, které je soubor v pracovním adresáři vystaven, se označuje jako statut souboru a má tyto kategorie:
? - neznámý (nesledovaný) soubor, o němž Mercurial ví jen to, že existuje v repozitóriu
I - původně neznámý soubor, zařazený do seznamu ignorovaných souborů
A - původně neznámý soubor, zařazený jako kandidát pro komit
M - změněný sledovaný soubor, je kandidátem pro komit
! - původně sledovaný soubor, ručně smazaný, přejmenovaný či přemístěný
R - soubor, odebraný ze sledování příkazem ´´hg remove´´
Je to pracovní kopie vybrané revize repozitáře, která umožňuje manipulaci se souboury a složkami projektu jako v normálním pracovním adresáři. Složení a obsah sledovaných souborů v pracovní kopii se mění v závislosti na nastavené aktuální revizi (viz hg update).
V instruktážních schematech se pracovní kopie (pracovní adresář) zobrazuje jako potenciální changeset, vycházející z aktuální rodičovské revize. Komitované změny pracovní kopie představují nový changeset. Nekomitovaným změnám pracovní kopie se říká lokální modifikace. Nemá-li pracovní kopie žádné lokální modifikace, říkáme, že je čistá.
Ideální skladba názvů popisovaných entit by byla repozitórium - repozitář - pracovní kopie. Musíme se však smířit s tím, že v anglických textech a schematech se setkáme pouze s termíny repozitář - pracovní adresář nebo dokonce s jediným, vše zahrnujícím termínem repozitář.
Zcela běžně se pro jednu a tutéž komitovanou změnu používají slova revize, changeset a komit.
Repozitórium je tedy vnímavý kořenový adresář projektu, který obsahuje složku .hg, zvanou repozitář a další složky a soubory, které tvoří sledovaný (pracovní kopii) i nesledovaný obsah projektu.
2. Repozitář
Repozitář je technicky vzato složka .hg v repozitóriu.
Následující ilustrace se pokouší naznačit situaci, kdy rodičovskou revizí pracovní kopie (pracovního adresáře) je revize č. 2, uložená ve složce .hg/store.
Subsložka .hg/store obsahuje kompletní historii projektu.
Na rozdíl od repozitória sleduje repozitář pouze tyto stavy souborů:
- n -- normální
- a -- přidaný
- r -- odebraný
- m -- sloučený
Repozitář obsahuje celou historii projektu, repozitórium (potažmo pracovní adresář) obsahuje časový snímek projektu v určitém bodě historie.