Size: 6406
Comment:
|
Size: 5304
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
''(viz také [[Základy Mercurialu]], CzechTutorial, [[QuickStart2]] a http://mercurial.selenic.com/quickstart/)'' | |
Line 21: | Line 20: |
Známe-li URL projektu (například [[http://selenic.com/hg]]), můžeme získat jeho kopii následovně: | Známe-li URL [[Repository|repozitáře]] projektu, například [[http://selenic.com/hg]]), můžeme získat jeho kopii následovně: |
Line 35: | Line 34: |
Příkaz vytvoří nový adresář {{{mercurial-repo}}} do něhož přenese celou historii projektu - [[Repository|repozitář]] {{{.hg}}} a případně všechny pracovní soubory (viz [[http://www.selenic.com/mercurial/hg.1.html#clone|clone]]). | Příkaz vytvoří nový adresář projektu{{{mercurial-repo}}} do něhož přenese celou historii projektu a pracovní adresář nastaví k poslednímu changesetu stávající větve. |
Line 37: | Line 36: |
Podívejme se, co bylo přeneseno (see [[http://www.selenic.com/mercurial/hg.1.html#parents|parents]]): | |
Line 39: | Line 37: |
{{{ $ cd mercurial-repo $ hg parents changeset: 9632:16698d87ad20 tag: tip user: Nicolas Dumazet <...> date: Mon Sep 21 19:21:32 2009 +0200 summary: util: use sys.argv[0] if $HG is unset and 'hg' is not in PATH }}} Příkaz [[http://www.selenic.com/mercurial/hg.1.html#summary|summary]] (Zavedený v Mercurialu 1.4) vypíše souhrn [[WorkingDirectory|pracovního adresáře]]. Názvy příkazů lze zkracovat, takže postačí {{{hg sum}}}: |
Příkaz {{{'summary'}}} provede sumarizaci stavu [[WorkingDirectory|pracovního adresáře]]. Názvy příkazů lze zkracovat, takže postačí {{{hg sum}}}: |
Line 60: | Line 48: |
{{{commit: (clean)}}} znamená, že pracovní adresář neobsahuje lokální změny {{{update: (current)}}} znamená, že sledované soubory pracovního adresáře jsou aktualizovány ([[http://www.selenic.com/mercurial/hg.1.html#update|update]]) k nejnovější revizi repozitáře. | Zde {{{commit: (clean)}}} znamená, že nejsou žádné [[LocalModifications|lokální změny]], {{{update: (current)}}} znamená, že soubory pracovního adresáře jsou aktualizovány ([[http://www.selenic.com/mercurial/hg.1.html#update|(update)]]) k nejnovější revizi repozitáře. |
Line 62: | Line 50: |
== Založení nového projektu == | == Založení nového projektu v Mercurialu== |
Line 64: | Line 52: |
Nový repozitář v adresáři {{{Holba}}} vytvoříme příkazem [[http://www.selenic.com/mercurial/hg.1.html#init|init]]: | Chtějme vytvořit repozitář v projektové složce {{{Rolba/}}}: |
Line 67: | Line 55: |
$ cd Holba/ | $ cd rolba/ |
Line 71: | Line 59: |
Stav pracovního adresáře zjistíme příkazem [[http://www.selenic.com/mercurial/hg.1.html#status|status]]: {{{ $ hg status }}} Pokud se nic nezobrazí, je naše pracovní kopie "čistá". Pokud obsahuje změněné, přidané nebo odebrané soubory, vypíše tyto soubory s označením 'A' (added), 'R' (removed), 'M' (modified), '?' (nesledován). Soubory, které chceme trvale vyřadit ze sledování, zapíšeme do souboru .hgignore. Mercurial vyhledává soubor [[.hgignore]] <<FootNote(http://www.selenic.com/mercurial/hgignore.5.html)>> v pracovním adresáři, který obsahuje sadu vzorů (glob) a regulárních výrazů, které mají být na cestách k souborům ignorovány. Zde je příklad souboru .hgignore: |
Mercurial bude v kořenové složce repozitáře hledat soubor se jménem ''`.hgignore`'' <<FootNote(http://www.selenic.com/mercurial/hgignore.5.html)>>, který obsahuje globální vzory a regulární výrazy, které mají při výběru souborů ignorovány. Zde je příklad souboru ''`.hgignore`'': |
Line 94: | Line 73: |
Tento soubor vytvoříme buď sami, nebo se vytvoří sám po prvním použití příkazu {{{hg ignore}}}. Změny, které chceme zapsat do repozitáře, musíme nejprve přidat ([[http://www.selenic.com/mercurial/hg.1.html#add|add]]) a posléze je předat ([[http://www.selenic.com/mercurial/hg.1.html#commit|commit]]): |
Soubor ''`.hgignore`'' otestujeme příkazem '`status`': {{{ $ hg status # zobrazí všechny neignorované soubory }}} To vypíše všechny soubory, které nejsou ignorovány s označením '?' (nesledováno). Editujte svůj soubor '`.hgignore`' tak dlouho, až příkaz '`status`' vypíše jenom ty soubory, které si přejete. Mezi sledované soubory musíte uvést také soubor '`.hgignore`'! Zřejmě ale nebudete chtít sledovat soubory, generované procesem 'build'. Poté, co budete s úpravami souboru spokojeni, proveďte přidání (add) sledovaných souborů a posléze jejich potvrzení (commit): |
Line 99: | Line 81: |
$ hg add # přidat ony 'neznáme' soubory $ hg commit # předat všechny změny do nového changesetu $ hg parents # zobrazit právě vytvořenou revizi (changeset) |
$ hg add # přidání 'neznámých' souborů $ hg commit # potvrzení všech změn pro nový changeset $ hg parents # zobrazit právě vybranou revizi (changeset) |
Line 104: | Line 86: |
Podrobný popis všech příkazů viz http://www.selenic.com/mercurial/hg.1.html nebo lze zadat: | Potřebujeme-li nápovědu, jednoduše zadáme: |
Line 107: | Line 89: |
$ hg help | $ hg help |
Line 110: | Line 92: |
Nápovědu pro konkretní příkaz (např. add) vyvoláme příkazem: | |
Line 112: | Line 93: |
{{{ $ hg help add }}} |
|
Line 164: | Line 142: |
'''translations:''' [[ChineseQuickStart|Chinese]] [[FrenchQuickStart|Français]] [[QuickStartDe|German]] [[QuickStartPtBr|Portuguese]] [[JapaneseQuickStart|Japanese]] [[ThaiQuickStart|Thai]] |
Stručný úvod pro netrpělivé
Jedno české přísloví praví: "Když spěcháš, tak si sedni." Kdo by si myslel, že po přečtení tohoto stručného úvodu bude dostatečně vybaven pro samostatnou práci s Mercurialem, může být zklamán. Úvod jestiť to poněkud chaotický. Jak jsem koupil, tak předávám. (Tovim)
Contents
1. Jméno uživatele
Při zápisu změn (commit) používá Mercurial jméno uživatele implicitně ve tvaru 'user@localhost'. Nejlepší je zapsat jméno uživatele do konfiguračního souboru ~/.hgrc 1 (nebo ve Windows v %USERPROFILE%\Mercurial.ini) připsáním následujících řádků:
[ui] username = John Doe <john@example.com>
2. Práce na existujícím projektu
Známe-li URL repozitáře projektu, například http://selenic.com/hg), můžeme získat jeho kopii následovně:
$ hg clone http://selenic.com/hg mercurial-repo real URL is http://www.selenic.com/hg/ requesting all changes adding changesets adding manifests adding file changes added 9633 changesets with 19124 changes to 1271 files updating to branch default 1084 files updated, 0 files merged, 0 files removed, 0 files unresolved
Příkaz vytvoří nový adresář projektumercurial-repo do něhož přenese celou historii projektu a pracovní adresář nastaví k poslednímu changesetu stávající větve.
Příkaz 'summary' provede sumarizaci stavu pracovního adresáře. Názvy příkazů lze zkracovat, takže postačí hg sum:
$ hg sum parent: 9632:16698d87ad20 tip util: use sys.argv[0] if $HG is unset and 'hg' is not in PATH branch: default commit: (clean) update: (current)
Zde commit: (clean) znamená, že nejsou žádné lokální změny, update: (current) znamená, že soubory pracovního adresáře jsou aktualizovány ((update)) k nejnovější revizi repozitáře.
== Založení nového projektu v Mercurialu==
Chtějme vytvořit repozitář v projektové složce Rolba/:
$ cd rolba/ $ hg init # vytvoří složku .hg
Mercurial bude v kořenové složce repozitáře hledat soubor se jménem .hgignore 2, který obsahuje globální vzory a regulární výrazy, které mají při výběru souborů ignorovány. Zde je příklad souboru .hgignore:
syntax: glob *.orig *.rej *~ *.o tests/*.err syntax: regexp .*\#.*\#$
Soubor .hgignore otestujeme příkazem 'status':
$ hg status # zobrazí všechny neignorované soubory
To vypíše všechny soubory, které nejsou ignorovány s označením '?' (nesledováno). Editujte svůj soubor '.hgignore' tak dlouho, až příkaz 'status' vypíše jenom ty soubory, které si přejete. Mezi sledované soubory musíte uvést také soubor '.hgignore'! Zřejmě ale nebudete chtít sledovat soubory, generované procesem 'build'. Poté, co budete s úpravami souboru spokojeni, proveďte přidání (add) sledovaných souborů a posléze jejich potvrzení (commit):
$ hg add # přidání 'neznámých' souborů $ hg commit # potvrzení všech změn pro nový changeset $ hg parents # zobrazit právě vybranou revizi (changeset)
Potřebujeme-li nápovědu, jednoduše zadáme:
$ hg help
3. Clone, Commit, Merge
$ hg clone project project-work # klonovat pracovní adresář s repozitářem $ cd project-work $ <make changes> # provést nějaké změny $ hg commit $ cd ../project $ <make other changes> # provést jiné změny $ hg commit $ hg pull ../project-work # stáhnout changesety z 'project-work' $ hg merge # sloučit stažený tip s tipem našeho repozitáře $ hg parents # prohlédnout si stažené a sloučené revize $ hg commit # předat výsledek sloučení
See clone, commit, pull, merge
4. Export oprávky
(make changes) $ hg commit $ hg export tip # exportovat poslední komit
Viz export
5. Podpora webové sítě
# klon z primárního repozitáře Mercurialu $ hg clone http://selenic.com/hg/ $ cd hg # pull new changesets from an existing other repo into the repository (.hg) $ hg pull http://selenic.com/hg/ # export your current repo via HTTP with browsable interface on port 8000 $ hg serve -n "My repo" # push changesets to a remote repo with SSH $ hg push ssh://user@example.com/hg/