Differences between revisions 2 and 7 (spanning 5 versions)
Revision 2 as of 2014-01-06 20:57:53
Size: 3539
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]]''.

<<TableOfContents>>
Line 5: Line 10:
Přísně vzato, termín '''repozitář''' označuje složku '''.hg''' v adresáři projektu, zvaném ''repozitórium'' (viz [[CzechUnderstandingMercurial|Základní pojmy Mercuriálu]]). 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 7: Line 12:
Vnitřní ingegritu repozitáře ověříme příkazem `hg verify`.

<<TableOfContents>>


== 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''.

== Struktura repozitáře ==

Následující řádky jsou uvedeny jenom jako připomínka toho, že repozitář není jenom složka .hg, nýbrž že to je ve skutečnosti složitá struktura, kterou však není nezbytné znát.

The {{{.hg}}} directory of a repository contains (incomplete listing):
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:
Line 34: Line 26:

== 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`.
Line 35: Line 33:

== Pracovní kopie ==

Všechny soubory v repozitóriu (mimo repozitáře) 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` 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 koncept 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 nebo na revizi X. Vybraná revize je rodičovským changesetem pracovní kopie coby potenciáního nového changesetu.

Line 54: Line 36:
* [[RepositoryNaming]]

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)