Size: 2793
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 16: | Line 16: |
Můžeme použít příkaz [[Tip|tip]], abychom zjistili, který changset je poslední v repozitáři. 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 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`: |
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.