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

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

V Mercurialu se všechno důležité odehrává uvnitř repozitáře - viz 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!)

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 klon1, který vytvoří úplnou kopii jiného repozitáře i s případnými pracovními soubory.

Naklonujeme si nevelký projekt "hello, world" ze stránek selenic.com do místně vytvořené složky 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 1.4):

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 nyní měli nalézt nový adresář moje-halo, jehož obsah prozkoumáme otvíráním jednotlivých položek nebo příkazem:

$ ls
moje-halo

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.

$ ls -a
.  ..  .hg  Makefile  hello.c

Informaci o kopírované revizi repozitáře získáme příkazem parents:2

$ 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 nebo push -- viz dále.

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 2012-12-15 15:58:31 by Tovim)