Differences between revisions 4 and 6 (spanning 2 versions)
Revision 4 as of 2014-01-07 09:53:38
Size: 3778
Editor: Tovim
Comment:
Revision 6 as of 2014-01-07 09:58:12
Size: 3794
Editor: Tovim
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma section-numbers 2 # pragma section-numbers 2
# language: cz
Line 42: Line 43:
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". 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".

Repozitář

Termínem repozitář označujeme složku .hg v adresáři projektu, zvaném repozitórium (viz 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.

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.

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ář!

Viz také


CategoryGlossary

Français

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