Differences between revisions 25 and 27 (spanning 2 versions)
Revision 25 as of 2013-11-15 14:01:50
Size: 2165
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 4: Line 4:

V Mercurialu se všechno důležité odehrává uvnitř [[Repository|repozitáře]] - viz [[CzechUnderstandingMercurial|Základní pojmy Mercurialu]]. Funkčně je repozitář prostor pro ukládání změn ve formě diffů. (Nový neprázdný soubor je uložen jako diff mezi novým souborem a prázdným souborem!)
Line 18: 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 30: Line 28:
Uvnitř repozitória {{{moje-halo}}} nalezneme soubory `hello.c`, `Makefile` a repozitář `.hg`, který obsahuje historii projektu plus různé interní informace -- více viz [[Repository]]. 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]].
Line 32: Line 30:
Příkaz `hg clone` přenese (viz [[Cmd:update]]) obsah poslední [[Revision|revize]] z větve ''default'' do [[WorkingDirectory|pracovního adresáře]] repozitória. Informaci o tom, která revize byla použita, získáme příkazem {{{summary}}}::<<FootNote([[Cmd:summary]])>> 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 38: Line 40:
parent: 1:82e55d328c8c parent: 1:82e55d328c8c tip
Line 46: Line 48:
Nyní se již můžeme pustit do zkoumání historie našeho repozitáře na další stránce [[CzechTutorialHistory|Historie repozitáře]]. Nyní se již můžeme pustit do zkoumání historie našeho nového repozitáře na další stránce [[CzechTutorialHistory|Historie repozitáře]].

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)