Differences between revisions 8 and 9
Revision 8 as of 2010-04-08 16:31:32
Size: 6106
Editor: Tovim
Comment:
Revision 9 as of 2012-04-28 09:42:51
Size: 6835
Editor: Tovim
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
V této chvíli máme naklonovaný repozitář v adresáři {{{mojeHalo}}}. V této chvíli máme naklonovaný repozitář v adresáři {{{moje-halo}}}.
Line 25: Line 25:
 * Každý odstavec popisuje určitý [[ChangeSet|changeset]], neboli souhrn změn. Changeset je souhrn úprav jednoho či více souborů, seskupený do jedné logické jednotky.  * Každý odstavec popisuje určitý [[ChangeSet|changeset]], neboli souhrn změn. Changeset je souhrn úprav (revizí) jednoho či více souborů, seskupený do jedné logické a časové jednotky.
Line 38: Line 38:

'''Poznámka překladatele:'''
V používání některých termínů panuje naprostá nedůslednost. Changeset je souhrn revizí; revize je úprava jednoho či více souborů. V popisných textech o Mercurialu se však slovo revize běžně používá i jako náhrada za slovo changeset.
Jiné nedorozumnění může způsobit výraz "pracovní adresář", který se nám plete s pojmem "kořenový adresář projektu". Pracovní adresář jako takový vlastně neexituje, správně bychom měli používat termín '''pracovní prostor''':

Kořenový adresář projektu obsahuje repozitář .hg a proměnný "pracovní prostor", jímž je vše, co kořenový adresář kromě složky .hg obsahuje.

Tutoriál 3 - Zkoumání historie repozitáře

Předchozí téma Tutoriálu bylo Klonování repozitáře. Následné téma je Vytvoření první změny.

V této chvíli máme naklonovaný repozitář v adresáři moje-halo.

Podívejme se na historii tohoto repozitáře. Použijeme k tomu příkaz log. Ten vytiskne souhrn všech událostí, které se v čase vyskytly, počínaje událostí poslední.

> hg log
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

changeset:   0:0a04b987be5a
user:        mpm@selenic.com
date:        Fri Aug 26 01:20:50 2005 -0700
summary:     Create a standard "hello, world" program

Výstupní řádky příkazu potřebují jisté vystvětlení.

  • Každý odstavec popisuje určitý changeset, neboli souhrn změn. Changeset je souhrn úprav (revizí) jednoho či více souborů, seskupený do jedné logické a časové jednotky.

    • V našem příkladě nahoře vidíme, že historie repozitáře se skládá ze dvou changesetů.
  • changeset uvádí identifikaci changesetu.

    • První číslo před dvojtečkou je číslo revize; je to lokální úsporný způsob označení changesetu. Platí jenom uvnitř tohoto repozitáře.

    • Hexadecimální řetězec za dvojtečkou je zkrácená forma zápisu ID changesetu; toto označení je stejné ve všech repozitářích, které changeset obsahují. ID používáme při komunikaci s dalšími osobami.

  • tag je tag, libovolné symbolické označení changesetu.

    • Ke každému changesetu lze připojit jeden či více tagů. Tagy se však většinou nepoužívají, takže řádek tag bude zřídka přítomný.

    • Zvláštní tag jménem tip označuje tip, což je vždy poslední changeset v repozitáři.

  • user označuje osobu, která changeset vytvořila. Je to volný řetězec, který obsahuje jméno a emailovou adresu.

  • date uvádí datum provedené změny. Tento datumový údaj je uváděn v lokální časové zóně tvůrce changesetu.

  • summary uvádí první řádek popisu changesetu; popis má pomoci autorovi i ostatním poznat důvod změny (viz také ChangeSetComments).

  • parent označuje rodiče changesetu, jež mohou být i dva, jde li o rodiče sloučeného changesetu.

    • Většinou bývá pouze jeden rodič, což je changet v čase bezprostředně předcházející tomu aktuálnímu. Což je také případ našeho příkladu.

Poznámka překladatele: V používání některých termínů panuje naprostá nedůslednost. Changeset je souhrn revizí; revize je úprava jednoho či více souborů. V popisných textech o Mercurialu se však slovo revize běžně používá i jako náhrada za slovo changeset. Jiné nedorozumnění může způsobit výraz "pracovní adresář", který se nám plete s pojmem "kořenový adresář projektu". Pracovní adresář jako takový vlastně neexituje, správně bychom měli používat termín pracovní prostor:

Kořenový adresář projektu obsahuje repozitář .hg a proměnný "pracovní prostor", jímž je vše, co kořenový adresář kromě složky .hg obsahuje.

Podrobnější informaci o historii získáme příkazem verbózního výstupu volbou -v nebo --debug:

> hg log -v
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
files:       Makefile
description:
Create a makefile

(...)

> hg log --debug
changeset:   1:82e55d328c8ca4ee16520036c0aaace03a5beb65
tag:         tip
parent:      0:0a04b987be5ae354b710cefeba0e2d9de7ad41a9
parent:      -1:0000000000000000000000000000000000000000
manifest:    1:0c7c1d435e6703e03ac6634a7c32da3a082d1600
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
files+:      Makefile
extra:       branch=default
description:
Create a makefile

(...)

Verbózní výstup obsahuje více polí než normální výstup.

  • files uvádí seznam v changesetu upravených souborů.

  • description obsahuje úplný víceřádkový popis changesetu (pokud je zadán).

    • V našem případě je zadán popis pouze jednořádkový, takže ve výstupech není žádný rozdíl.

Výstup --debug připojí následující pole k verbóznímu výstupu (viz také DebuggingFeatures):

  • changeset ukáže nezkrácené ID changsetu.

  • dvě pole parent zobrazují ID changesetů u obou rodičů, přičemž -1:0000000000000000000000000000000000000000 odkazuje na rodiče neexistujcího.

  • manifest uvádí ID manifestu pro tento changeset.

  • file+ vypíše soubory, v changesetu přidané.

  • file- vypíše soubory, v changesetu odstraněné.

Příkaz log má ještě volbu -r pro zobrazení určitých changesetů.

> hg log -r1
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

<!> Volba -r ve skutečnosti podporuje velmi flexibilní syntaxi pro určení rozsahu changesetů. Tuto vlastnost si bohužel vzhledem k malému počtu changesetů v našem příkladě neukážeme. Více informací lze získat na manpage.

Příkaz log má také volbu -p pro zobrazení oprávek (patches), souvisejících s changesetem:

> hg log -r1 -p
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

diff -r 0a04b987be5a -r 82e55d328c8c Makefile
--- /dev/null   Fri Aug 26 01:20:50 2005 -0700
+++ b/Makefile  Fri Aug 26 01:21:28 2005 -0700
@@ -0,0 +1,1 @@
+all: hello

Můžeme také použít příkaz tip pro zobrazení posledního changesetu. Příkaz tip lze považovat za zkratku pořadí log -r tip.

> hg tip
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

> hg log -r tip
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

Nyní, když už máme jisté povědomí o čem je řeč, vrhněme se na provedení nějaké změny! Vzhůru na Vytvoření první změny!


CategoryCzech

CzechTutorialHistory (last edited 2013-12-28 20:41:59 by Tovim)