Differences between revisions 5 and 7 (spanning 2 versions)
Revision 5 as of 2014-01-07 09:54:56
Size: 3777
Editor: Tovim
Comment:
Revision 7 as of 2014-01-07 11:03:53
Size: 2353
Editor: Tovim
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:


Význam pojmů ''repozitórium'', ''pracovní kopie'' - viz ''[[CzechUnderstandingMercurial|Základní pojmy Mercuriálu]]''.
Line 7: Line 10:
Termínem '''repozitář''' označujeme složku '''.hg''' v adresáři projektu, zvaném ''repozitórium'' (viz [[CzechUnderstandingMercurial|Základní pojmy Mercuriálu]]).
Pro praktické použití obsahuje tato věta vše, co potřebujeme o repozitáři vědět. Se složkou .hg se nemá manipulovat.
Termínem '''repozitář''' označujeme složku '''.hg''' v adresáři projektu, zvaném ''repozitórium''. Pro praktické použití obsahuje tato věta vše, co potřebujeme o repozitáři vědět. Se složkou .hg se nemá manipulovat.
Line 32: Line 34:
== Pracovní kopie ==

Všechny soubory v repozitóriu jsou nějakým způsobem Mercuriálem vnímány. Lze je rozdělit na soubory nesledované a sledované.

Nesledované soubory jsou ve výstupech Mercuriálu označovány otazníkem, pokud nejsou uvedeny v souboru .hgignore - v tom případě je Mercuriál jakoby "ignoruje".

Sledované soubory byly alespoň jednou akcí `commit` nebo `pull` či `push` zapsány do repozitáře nebo byly zařazeny do skupiny sledovaných souborů příkazem `hg add`.

Uživatelský přístup k jednotlivým changesetům repozitáře zajišťuje mechanizmus tak zvané "pracovní kopie", která je spojena vždy s určitým changesetem (většinou posledním).

Přítomnost pracovní kopie v repozitóriu se projevuje tím, že složení a obsah souborů v repozitóriu se mění v závislosti na aktuálním napojení "pracovní kopie > changeset".

Změnu propojení zařídí příkaz `hg update` nebo `hg update -r X`, který orientuje pracovní kopii na poslední revizi (tip) aktuální větve nebo na vybranou revizi X. Vybraná revize je rodičovským changesetem pracovní kopie coby potenciáního nového changesetu.

<!> V anglických textech se pro označení tří entit (repozitórium, repozitář, pracovní kopie) používají dva termíny - repozitář a pracovní adresář, někdy dokonce termín jeden - repozitář. Pracovní kopie je v programu Mercurial a !TotoiseHg vedena jako pracovní adresář!


Význam pojmů repozitórium, pracovní kopie - viz Základní pojmy Mercuriálu.

Repozitář

Termínem repozitář označujeme složku .hg v adresáři projektu, zvaném repozitórium. Pro praktické použití obsahuje tato věta vše, co potřebujeme o repozitáři vědět. Se složkou .hg se nemá manipulovat.

Složka .hg je ve skutečnosti složitá struktura, jak lze usoudit z následujícího (neúplného) výčtu jejích položek:

  • The manifest — Files .hg/store/00manifest.i and .hg/store/00manifest.d

    • Describes the file contents of the repository at a particular changeset ID. Stored in revlog format.

  • The changelog — Files .hg/store/00changelog.i and .hg/store/00changelog.d

    • Contains all changesets. Stored in revlog format.
  • A revlog per tracked file — Files .hg/store/data/<encoded path>.i and .hg/store/data/<encoded path>.d

    • <encoded path> is the path of the tracked file in the working directory, encoded according to CaseFoldingPlan.

  • The dirstate — File .hg/dirstate

    • Tracks various information about the working directory.
  • The requires file — File .hg/requires

    • Specifies the capabilities needed by a client to access this repository

Note that for small revlogs, the revlog data file (*.d) may be missing, because its content may be interleaved into the corresponding index file (*.i) (see also RevlogNG).

Vytvoření repozitáře

Repozitář lze vytvořit klonováním existujcícího repozitória příkazem hg clone, což vytvoří kopii projektového adresáře včetně složky .hg nebo lze v existujícím adresáři projektu vytvořit příkazem hg init složku .hg, což z běžného pracovního adresáře vytvoří vnímavý pracovní adresář Mercuriálu, zvaný repozitórium.

Vnitřní integritu repozitáře ověříme příkazem hg verify.

Viz také


CategoryGlossary

Français

CzechRepository (last edited 2014-01-10 15:31:17 by Tovim)