== Tutoriál 6 - Stažení změn s jiného repozitáře == ''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]]'' 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. 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|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 [[WorkingDirectory|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 [[CzechTutorialExport|Export změny do souboru]]. ---- CategoryCzech