Differences between revisions 26 and 27
Revision 26 as of 2009-10-28 22:26:50
Size: 2966
Editor: abuehl
Comment:
Revision 27 as of 2009-11-22 16:03:53
Size: 2635
Editor: Tovim
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Tutorial - Cloning a repository == == Tutoriál - Klonování repozitáře ==
Line 3: Line 3:
''(This page is part 2 of 9 of the [[Tutorial]] series. Previous part is [[TutorialInstall]], next part is [[TutorialHistory]])'' ''(Toto je druhá část řady 1-9 [[Tutorial]]. Předcho je[[TutorialInstall]], následuje [[TutorialHistory]])''
Line 5: Line 5:
You have followed TutorialInstall to install Mercurial already, right? Good! Aplikaci Mercurial (nebo TortoiseHg) máme řádně nainstalovánu? Dobrá, popojedeme.
Line 7: Line 7:
In Mercurial, we do all of our work inside a [[Repository|repository]]. A repository is a directory that contains all of the source files that we want to keep history of, along with complete histories of those source files (inside the .hg directory —
see UnderstandingMercurial).
V Mercurialu se všechno důležité odehrává uvnitř [[Repository|repozitáře]]. Přísně vzato, repozitář je složka s označením {{{.hg}}}, umístěná spolu s pracovními (a dalšími) soubory uvnitř našeho pracovního adresáře.
Nejjednodušší způsob jak začít s Mercurialem, je použít kopii projektu s již vytvořeným repozitářem.
Line 10: Line 10:
The easiest way to get started with Mercurial is to use a repository that already contains some files and some history. Použijeme k tomu příkaz {{{clone}}}.<<FootNote(http://www.selenic.com/mercurial/hg.1.html#clone)>> Ten vytvoří [[Clone|klon]] buď celého pracovního adresáře nebo jenom repozitáře, v závislosti na tvaru příkazu.
Line 12: Line 12:
To do this, we use the {{{clone}}} command.<<FootNote(http://www.selenic.com/mercurial/hg.1.html#clone)>> This makes a [[Clone|clone]] of a repository; it makes a complete copy of another repository so that we will have our own local, private one to work in.

Let's clone a small "hello, world" repository hosted at selenic.com:
Pořiďme si kopii nevelkého projektu, kterou uložíme do samočinně vytvořené složky mojeHalo na aktuálním disku:
Line 17: Line 15:
$ hg clone http://www.selenic.com/repo/hello my-hello > hg clone http://www.selenic.com/repo/hello mojeHalo
Line 20: Line 18:
If all goes well, the {{{clone}}} command prints this (Mercurial 1.4): Půjde-li vše doe, příkaz {{{clone}}} vytiskne toto (Mercurial 1.4):
Line 32: Line 30:
We should now find a directory called {{{my-hello}}} in our current directory: Na disku C:\ bychom nyní měli nalézt nový adresář {{{mojeHalo}}}, jehož obsah prozkoumáme otvíráním jednotlivých položek nebo příkazem:
{{{
> dir mojeHalo
}}}

Uvnitř adresáře {{{mojeHalo}}} nalezneme dva soubory `hello.c`}, `Makefile` a složku `.hg`, která obsahuje historii repozitáře plus různé interní informace -- více viz[[Repository]].

Tyto soubory jsou přesnou kopií souborů z poslední ([[Tip|tip]]) revize původní větve klonovaného repozitáře.<<br>>
Informace o kopírované verzi repozitáře získáme příkazem[[Parent|parents]] :<<FootNote(http://www.selenic.com/mercurial/hg.1.html#parents)>>
Line 35: Line 41:
$ ls
my-hello
}}}

Inside the {{{my-hello}}} directory, we should find some files, together with the .hg directory, that contains
Mercurial's private data (basically the history of the repository plus various state information &mdash; see [[Repository]] for more information):

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

These files are exact copies of the files from the [[Tip|tip]] revision of the default branch in the repository we just cloned.

'''Note:''' in Mercurial, each repository is self-contained. When you clone a repository, the new repository becomes an exact copy of the existing one at the time of the clone, but subsequent changes in either one ''will not show up'' in the other unless you explicitly transfer them, by either [[Pull|pulling]] or [[Push|pushing]].

By default, `hg clone` checks out (see [[Update]]) the [[Tip|tip]]most [[Revision|revision]] of the repository's ''default branch''
into the repository's [[WorkingDirectory|working directory]]. To see which revision is currently checked out,
we can use the [[Parent|parents]] command:<<FootNote(http://www.selenic.com/mercurial/hg.1.html#parents)>>

{{{
$ cd my-hello
$ hg parents
> cd mojeHalo
> hg parents
Line 65: Line 50:
At this point, we can start examining some of the history of our new repository, by continuing to TutorialHistory. '''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.

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

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

(Toto je druhá část řady 1-9 Tutorial. Předchozí jeTutorialInstall, následuje TutorialHistory)

Aplikaci Mercurial (nebo TortoiseHg) máme řádně nainstalovánu? Dobrá, popojedeme.

V Mercurialu se všechno důležité odehrává uvnitř repozitáře. Přísně vzato, repozitář je složka s označením .hg, umístěná spolu s pracovními (a dalšími) soubory uvnitř našeho pracovního adresáře. Nejjednodušší způsob jak začít s Mercurialem, je použít kopii projektu s již vytvořeným repozitářem.

Použijeme k tomu příkaz clone.1 Ten vytvoří klon buď celého pracovního adresáře nebo jenom repozitáře, v závislosti na tvaru příkazu.

Pořiďme si kopii nevelkého projektu, kterou uložíme do samočinně vytvořené složky mojeHalo na aktuálním disku:

> hg clone http://www.selenic.com/repo/hello mojeHalo

Půjde-li vše dobře, příkaz clone vytiskne toto (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

Na disku C:\ bychom nyní měli nalézt nový adresář mojeHalo, jehož obsah prozkoumáme otvíráním jednotlivých položek nebo příkazem:

> dir mojeHalo

Uvnitř adresáře mojeHalo nalezneme dva soubory hello.c}, Makefile a složku .hg, která obsahuje historii repozitáře plus různé interní informace -- více vizRepository.

Tyto soubory jsou přesnou kopií souborů z poslední (tip) revize původní větve klonovaného repozitáře.<<br>> Informace o kopírované verzi repozitáře získáme příkazemparents :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 -- TutorialHistory.


CategoryTutorial

TutorialClone (last edited 2015-10-28 15:22:27 by alishamsulqamar)