Size: 2837
Comment:
|
← Revision 15 as of 2013-11-15 20:23:29 ⇥
Size: 2784
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
== Tutoriál 5 - Stažení změn s jiného repozitáře == | == Tutoriál 6 - Stažení změn s jiného repozitáře == |
Line 3: | Line 3: |
''(Předchozí kapitola [[CzechTutorial|Tutoriálu]] pojednávala o [[CzechTutorialFirstChange|Vytvoření první změny]], následující kapitola popíše [[CzechTutorialExport|Export změny do souboru]])'' | ''Předchozí kapitola [[CzechTutorial|Tutoriálu]] pojednávala o [[CzechTutorialFirstChange|Naší první změně]], následující kapitola popíše [[CzechTutorialExport|Export změny do souboru]]'' |
Line 5: | Line 5: |
V předchozí kapitole jsme v adresáři `mojeHalo-output` změnili soubor a vytvořili [[ChangeSet|changeset]] v [[Repository|repozitáři]]. Nyní chceme tuto změnu někam předat. | V předchozí kapitole jsme v adresáři `moje-halo-output` změnili soubor a vytvořili [[ChangeSet|changeset]] v [[Repository|repozitáři]]. Nyní chceme tuto změnu někam předat. |
Line 11: | Line 11: |
> hg clone mojeHalo mojeHalo-share | > hg clone moje-halo moje-halo-share |
Line 16: | Line 16: |
Můžeme použít příkaz [[Tip|tip]], abychom zjistili, co je "tipem" každého repozitáře. (Víme, že slovem tip označujeme poslední changeset.) Zadáme volbu `-q` ("be quiet") aby Mercurial nevytiskl úplný popis tipu. | Můžeme použít příkaz {{{tip}}}, abychom zjistili, který changset je poslední v repozitáři. Zadáme volbu `-q` ("be quiet") aby Mercurial nevytiskl úplný popis tipu. |
Line 19: | Line 19: |
> cd mojeHalo-share | > cd moje-halo-share |
Line 22: | Line 22: |
> cd ../mojeHalo-output | > cd ../moje-halo-output |
Line 27: | Line 27: |
Jak vidíme, v každém repozitáři je jiný tip. Vraťme se do `mojeHalo-share` a přenesme tam náš nový changeset. Provedeme to příkazem [[Pull|pull]], který "stáhne" všechny odlišné changesety do našeho repozitáře. | Jak vidíme, v každém repozitáři je jiný tip. Vraťme se do `moje-halo-share` a přenesme tam náš nový changeset. Provedeme to příkazem [[Pull|pull]], který "stáhne" všechny odlišné changesety do našeho repozitáře. |
Line 30: | Line 30: |
> cd ../mojeHalo-share > hg pull ../mojeHalo-output pulling from ../mojeHalo-output |
> cd ../moje-halo-share > hg pull ../moje-halo-output pulling from ../moje-halo-output |
Line 45: | Line 45: |
Provedeme aktualizaci souboru (a případně všech ostatních, které mohly vzniknout během operace "pull") příkazem [[Update|update]], použijeme však zkratku `up`: | Provedeme aktualizaci souboru (a případně všech ostatních, které mohly vzniknout během operace ''pull'') příkazem `update`, použijeme však zkratku `up`: |
Line 52: | Line 52: |
V této chvíli lze zkontrolovat, že `mojeHalo-share` a `mojeHalo-output` mají shodné obsahy a historii revizí. | V této chvíli lze zkontrolovat, že `moje-halo-share` a `moje-halo-output` mají shodné obsahy a historii revizí. |
Line 54: | Line 54: |
Kontrolu lze provést tak, že z adresáře `mojeHalo-share` provedeme následující: | Kontrolu lze provést tak, že z adresáře `moje-halo-share` provedeme následující: |
Line 56: | Line 56: |
> hg pull ../ 'mojeHalo-output' > hg push ../ 'mojeHalo-output' |
> hg pull ../ 'moje-halo-output' > hg push ../ 'moje-halo-output' |
Line 60: | Line 60: |
Jestliže v obou případech dostaneme 'no changes found' (změny nenalezeny), znamená to, že jsou repozitáře identické. Totéž můžeme provést pro 'mojeHalo-share z adresáře 'mojeHalo-output. | Jestliže v obou případech dostaneme 'no changes found' (změny nenalezeny), znamená to, že jsou repozitáře identické. Totéž můžeme provést pro 'moje-halo-share z adresáře 'moje-halo-output. |
Line 65: | Line 65: |
CategoryTutorial | CategoryCzech |
Tutoriál 6 - Stažení změn s jiného repozitáře
Předchozí kapitola Tutoriálu pojednávala o Naší první změně, následující kapitola popíše Export změny do souboru
V předchozí kapitole jsme v adresáři moje-halo-output změnili soubor a vytvořili changeset v repozitáři. Nyní chceme tuto změnu někam předat.
Podle zavedené zvyklosti si nejprve vytvoříme klon originálního adresáře.
> cd .. > hg clone moje-halo moje-halo-share updating working directory 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Můžeme použít příkaz tip, abychom zjistili, který changset je poslední v repozitáři. Zadáme volbu -q ("be quiet") aby Mercurial nevytiskl úplný popis tipu.
> cd moje-halo-share > hg -q tip 1:82e55d328c8c > cd ../moje-halo-output $ hg -q tip 2:86794f718fb1
Jak vidíme, v každém repozitáři je jiný tip. Vraťme se do moje-halo-share a přenesme tam náš nový changeset. Provedeme to příkazem pull, který "stáhne" všechny odlišné changesety do našeho repozitáře.
> cd ../moje-halo-share > hg pull ../moje-halo-output pulling from ../moje-halo-output searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (run 'hg update' to get a working copy)
Na rozdíl od jiných příkazů Mercurialu je pull hovorný. V tomto případě bylo stažení úspěšné.
Poslední řádek výstupu je důležitý. Mercurial implicitně neaktualizuje pracovní adresář po příkazu pull. To znamená, že i když repozitář obsahuje poslední changeset, má soubor hello.c stále ještě nezměněný obsah. Provedeme aktualizaci souboru (a případně všech ostatních, které mohly vzniknout během operace pull) příkazem update, použijeme však zkratku up:
> hg up 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
V této chvíli lze zkontrolovat, že moje-halo-share a moje-halo-output mají shodné obsahy a historii revizí.
Kontrolu lze provést tak, že z adresáře moje-halo-share provedeme následující:
> hg pull ../ 'moje-halo-output' > hg push ../ 'moje-halo-output'
Jestliže v obou případech dostaneme 'no changes found' (změny nenalezeny), znamená to, že jsou repozitáře identické. Totéž můžeme provést pro 'moje-halo-share z adresáře 'moje-halo-output.
K zaslání změn jiné osobě se dostaneme v další kapitole Export změny do souboru.