Size: 6265
Comment:
|
← Revision 18 as of 2013-12-28 20:41:59 ⇥
Size: 6286
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
== Tutoriál 3 - Zkoumání historie repozitáře == | == Tutoriál 4 - Zkoumání historie repozitáře == |
Line 3: | Line 3: |
''(Předchozí téma [[CzechTutorial|Tutoriálu]] bylo [[CzechTutorialClone|Klonování repozitáře]]. Následné téma je [[CzechTutorialFirstChange|Vytvoření první změny]]).'' | ''Předchozí téma [[CzechTutorial|Tutoriálu]] bylo [[CzechTutorialClone|Klonování repozitáře]]. Následné téma je [[CzechTutorialFirstChange|Vytvoření první změny]].'' |
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 23: | Line 23: |
Výstupní řádky programu potřebují jisté vystvětlení. | Výstupní řádky příkazu {{{log}}} potřebují jisté vystvětlení. |
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. * V našem příkladě nahoře vidíme, že historie repozitáře se skládá ze dvou changesetů. |
* Každý odstavec popisuje určitý [[ChangeSet|changeset]]. Changeset je souhrn změn jednoho či více souborů, seskupený do jedné logické jednotky. * V našem příkladě nahoře vidíme, že historie repozitáře se skládá ze dvou changesetů. |
Line 29: | Line 29: |
* Hexadecimální řetězec za dvojtečkou je zkrácená forma zápisu [[ChangeSetID|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|tag]], libovolné symbolické označení changesetu. |
* Hexadecimální řetězec za dvojtečkou je zkrácená forma zápisu 40ti místného [[ChangeSetID|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}}} ([[Tag|tag]]), je libovolné symbolické označení changesetu. |
Line 32: | Line 32: |
* Zvláštní tag jménem {{{tip}}} označuje [[Tip|tip]], což je vždy poslední changeset v repozitáři. | * Zvláštní tag jménem {{{tip}}} označuje poslední changeset v repozitáři. |
Line 35: | Line 35: |
* {{{summary}}} uvádí první řádek popisu changesetu. Popis vytváří autor changesetu v čase vytvoření a má pomoci jemu i ostatním poznat důvod změny (viz také [[ChangeSetComments]]). * {{{parent}}} identifikuje [[Parent|rodiče]] changesetu, nebo changesetů, je-li jich více než jeden, což se stane při slučování ([[Merge|merge]]) změn z několika repozitářů. * 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. |
* {{{summary}}} uvádí první řádek zprávy changesetu; popis má pomoci autorovi i ostatním poznat důvod změny (viz také [[ChangeSetComments]]). * {{{parent}}} označuje [[Parent|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 changeset bezprostředně předcházející tomu aktuálnímu. Což je také případ našeho příkladu. |
Line 39: | Line 39: |
Podrobnější informaci o historii získáme příkazem verbózního výstupu volbou {{{-v}}} nebo {{{--debug}}}: |
Podrobnější informaci o historii získáme příkazem verbózního výstupu opcí {{{-v}}} nebo {{{--debug}}}: |
Line 71: | Line 71: |
* {{{files}}} uvádí seznam v changesetu upravených souborů. | * {{{files}}} uvádí seznam upravených souborů v changesetu |
Line 79: | Line 79: |
* two {{{parent}}} fields giving the changeset ID of both parents for this changeset, where {{{-1:0000000000000000000000000000000000000000}}} refers to a non-existant parent. (přeložím později) * {{{manifest}}} uvádí [[Manifest|manifest]] ID pro tento changeset. * {{{file+}}} vypíše soubory, přidané k changesetu. * {{{file-}}} vypíse soubory, odstraněné z changesetu. |
* dvě pole {{{parent}}} zobrazují ID changesetů u obou rodičů, přičemž {{{-1:0000000000000000000000000000000000000000}}} odkazuje na rodiče neexistujcího. * {{{manifest}}} uvádí ID [[Manifest|manifestu]] pro tento changeset. * {{{file+}}} vypíše soubory, v changesetu přidané. * {{{file-}}} vypíše soubory, v changesetu odebrané příkazem {{{hg remove}}}. |
Line 85: | Line 85: |
Příkaz {{{log}}} má ještě specifickou volbu {{{-r}}} pro zobrazení určitých changesetů. | Příkaz {{{log}}} má ještě opci {{{-r}}} pro výběr určitých changesetů. |
Line 96: | Line 96: |
<!> 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 [[http://www.selenic.com/mercurial/hg.1.html#log|manpage]]. | <!> Opce {{{-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 [[http://www.selenic.com/mercurial/hg.1.html#log|manpage]]. |
Line 98: | Line 98: |
Příkaz {{{log}}} má také volbu {{{-p}}} pro zobrazení záplat (patches), souvisejících s changesetem: | Příkaz {{{log}}} má také opci {{{-p}}} pro zobrazení oprávek (patches), souvisejících s changesety: |
Line 114: | Line 114: |
případně při nastavení [defaults] diff = --git -unified 0 {{{ diff --git a/Makefile b/Makefile new file mode 100644 --- /dev/null +++ b/Makefile @@ -0,0 +1,1 @@ +all: hello }}} |
|
Line 137: | Line 145: |
CategoryTutorial | CategoryCzech |
Tutoriál 4 - 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 log potřebují jisté vystvětlení.
Každý odstavec popisuje určitý changeset. Changeset je souhrn změn jednoho či více souborů, seskupený do jedné logické 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 40ti místného 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 (tag), je 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 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 zprávy 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 changeset bezprostředně předcházející tomu aktuálnímu. Což je také případ našeho příkladu.
Podrobnější informaci o historii získáme příkazem verbózního výstupu opcí -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 upravených souborů v changesetu
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 odebrané příkazem hg remove.
Příkaz log má ještě opci -r pro výběr 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
Opce -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é opci -p pro zobrazení oprávek (patches), souvisejících s changesety:
> 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
případně při nastavení [defaults] diff = --git -unified 0
diff --git a/Makefile b/Makefile new file mode 100644 --- /dev/null +++ b/Makefile @@ -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!