Size: 6106
Comment:
|
Size: 6835
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!