Differences between revisions 13 and 27 (spanning 14 versions)
Revision 13 as of 2012-04-28 09:22:08
Size: 2769
Editor: Tovim
Comment:
Revision 27 as of 2013-12-28 20:03:29
Size: 2357
Editor: Tovim
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
''Předchozí kapitolou [[CzechTutorial|Tutoriálu]] je [[CzechTutorialInstall|Instalace programu]], následuje [[CzechTutorialHistory|Historie repozitáře]]'' ''Předchozí kapitolou [[CzechTutorial|Tutoriálu]] je [[CzechTutorialInit|Vytvoření repozitáře]], následuje [[CzechTutorialHistory|Historie repozitáře]]''
Line 5: Line 5:
V Mercurialu se všechno důležité odehrává uvnitř [[Repository|repozitáře]], jímž je složka s označením {{{.hg}}}, umístěná spolu s pracovními (a dalšími) soubory uvnitř našeho kořenového adresáře projektu. Funkčně je repozitář prostor pro ukládání změn pracovního adresáře. Obsah pracovního adresáře se mění podle aktuálně nastavené revize projektu.
Line 7: Line 6:
Nejjednodušší způsob jak začít s Mercurialem, je použít kopii projektu s již vytvořeným repozitářem. Nejjednodušší způsob jak začít s Mercurialem, je použít kopii existujícího projektu s repozitářem a soubory.
Line 9: Line 8:
Použijeme k tomu příkaz [[Clone|klon]]<<FootNote(http://www.selenic.com/mercurial/hg.1.html#clone)>>, který vytvoří úplnou kopii jiného repozitáře i s případnými pracovními soubory. Použijeme k tomu příkaz {{{clone}}} <<FootNote([[Cmd:clone]])>> , který vytvoří úplnou kopii jiného repozitáře i s případnými pracovními soubory.
Line 11: Line 10:
Pořiďme si kopii nevelkého projektu "hello", kterou uložíme do samočinně vytvořené složky moje-halo na aktuálním disku: Klonováním vytvoříme kopii projektu "hello" ze stránek selenic.com v nově vytvořeném lokálním repozitóriu {{{moje-halo}}}:
Line 17: Line 16:
Půjde-li vše dobře, příkaz {{{clone}}} vytvoří tento výstup (Mercurial 1.4): Půjde-li vše dobře, příkaz {{{clone}}} vytvoří tento výstup (Mercurial 2.8):
Line 29: Line 28:
V aktuálním adresáři bychom nyní měli nalézt nový adresář {{{moje-halo}}}, jehož obsah prozkoumáme otvíráním jednotlivých položek nebo příkazem: V aktuálním adresáři bychom měli nalézt repozitórium s názvem ''moje-halo'', obsahující soubory `hello.c`, `Makefile` a repozitář `.hg`, který obsahuje historii projektu plus různé interní informace -- viz [[Repository]].

Tyto soubory jsou přesnou kopií souborů z hrotové (tip) revize větve "default" v právě klonovaném repozitáři.

V Mercuriálu jsou všechny revize zcela samostatné. Při klonování repozitáře se nový repozitář stává přesnou kopií originálu. Následné odlišné změny lze mezi repozitáři přenášet akcemi ''pull'' (poslat) a ''push'' (stáhnout).

Příkaz `hg clone` implicitně přenese (viz [[Cmd:update]]) poslední [[Revision|revizi]] (obvykle označovanou jako "tip") větve ''default'' vzdáleného repozitáře do [[WorkingDirectory|pracovního adresáře]] lokálního repozitória. Informaci o tom, která revize byla použita, získáme příkazem {{{summary}}}::<<FootNote([[Cmd:summary]])>>

Line 31: Line 38:
> dir moje-halo
...
$ cd moje-halo
$ hg summary
parent: 1:82e55d328c8c tip
 Create a makefile
branch: default
commit: (clean)
update: (current)
Line 35: Line 47:
Uvnitř adresáře {{{moje-halo}}} nalezneme dva soubory `hello.c`, `Makefile` a repozitář `.hg`, který obsahuje historii projektu plus různé interní informace -- více viz [[Repository]]. Tyto soubory jsou přesnou kopií souborů z poslední ([[Tip|tip]]) revize větve 'default' klonovaného repozitáře.

Informace o kopírované verzi repozitáře získáme příkazem [[Parent|parents]]:<<FootNote(http://www.selenic.com/mercurial/hg.1.html#parents)>>

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

'''Note:''' V okamžiku provedeného klonování jsou oba repozitáře totožné. Později se zřejmě oba repozitáře nezávisle na sobě různě změní. Změny lze z jednoho repozitáře do druhého přenést přikazy
[[Pull|pull]] nebo [[Push|push]] -- viz dále.

Tutoriál 3 - Klonování repozitáře

Předchozí kapitolou Tutoriálu je Vytvoření repozitáře, následuje Historie repozitáře

Nejjednodušší způsob jak začít s Mercurialem, je použít kopii existujícího projektu s repozitářem a soubory.

Použijeme k tomu příkaz clone 1 , který vytvoří úplnou kopii jiného repozitáře i s případnými pracovními soubory.

Klonováním vytvoříme kopii projektu "hello" ze stránek selenic.com v nově vytvořeném lokálním repozitóriu moje-halo:

> hg clone http://www.selenic.com/repo/hello moje-halo

Půjde-li vše dobře, příkaz clone vytvoří tento výstup (Mercurial 2.8):

requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

V aktuálním adresáři bychom měli nalézt repozitórium s názvem moje-halo, obsahující soubory hello.c, Makefile a repozitář .hg, který obsahuje historii projektu plus různé interní informace -- viz Repository.

Tyto soubory jsou přesnou kopií souborů z hrotové (tip) revize větve "default" v právě klonovaném repozitáři.

V Mercuriálu jsou všechny revize zcela samostatné. Při klonování repozitáře se nový repozitář stává přesnou kopií originálu. Následné odlišné změny lze mezi repozitáři přenášet akcemi pull (poslat) a push (stáhnout).

Příkaz hg clone implicitně přenese (viz update) poslední revizi (obvykle označovanou jako "tip") větve default vzdáleného repozitáře do pracovního adresáře lokálního repozitória. Informaci o tom, která revize byla použita, získáme příkazem summary::2

$ cd moje-halo
$ hg summary
parent:      1:82e55d328c8c tip
 Create a makefile
branch:      default
commit:      (clean)
update:      (current)

Nyní se již můžeme pustit do zkoumání historie našeho nového repozitáře na další stránce Historie repozitáře.


CategoryCzech

CzechTutorialClone (last edited 2014-01-03 10:37:26 by Tovim)