Size: 2781
Comment:
|
Size: 2357
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
''Předchozí kapitolou [[CzechTutorial|Tutoriálu]] je [[CzechTutorialInit|Vytvoření repozitáře 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.