== Pakeitimų taikymas kitai saugyklai ==

''(šis puslapis - viena iš [[LithuanianTutorial]] įvado dalių. Ankstesnė dalis - [[LithuanianTutorialFirstChange]], kita dalis - [[LithuanianTutorialExport]])'' 

Praeitame skyrelyje mes sukūrėme pakeitimų rinkinį ([[ChangeSet]]) saugykloje ([[Repository]]) `mano-hello-nauja-eilute`. Dabar tuos pakeitimus perkelsime kitur. 

Laikydamiesi gero darbo su Mercurial stiliaus, visų pirma klonuokime mūsų originaliąją saugyklą.

{{{
$ cd ..
$ hg clone mano-hello mano-hello-pervesti-pakeitimai
updating working directory
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
}}}

Galime naudoti `tip` komandą, kad sužinotume mus dominančios saugyklos viršūnę. (Atsiminkite, viršūnė - tai pats naujausias pakeitimų rinkinys). Naudojame papildomą parametrą `-q`, kuris Mercurial sistemai nurodo neišvedinėti pilno viršūnės aprašymo.

{{{
$ cd mano-hello-pervesti-pakeitimai
$ hg -q tip
1:82e55d328c8c
$ cd ../mano-hello-nauja-eilute
$ hg -q tip
2:86794f718fb1
}}}
 
Kaip matome, viršūnės saugyklose yra skirtingos. Grįžkime į `namo-hello-su-pervestais-pakeitimais` ir čia pritaikykime mūsų naują pakeitimų rinkinį. Tam naudojame `pull` komandą, kuri pasiima visus kitoje saugykloje esančius pakeitimus, kurių dar nėra šioje.

{{{
$ cd ../mano-hello-pervesti-pakeitimai
$ hg pull ../mano-hello-nauja-eilute
pulling from ../mano-hello-nauja-eilute
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)
}}}

Kitaip negu kitos pagrindinės Mercurial komandos, `pull` nėra "tyli" - jeigu operacija įvykdoma sklandžiai, išvedamos štai tokios eilutės.

Atkreipkite dėmesį į paskutinę išvesties eilutę. Standartiškai, Mercurial neatnaujina darbinio katalogo ([[WorkingDirectory]]) po `pull` komandos įvykdymo. Tai reiškia, jog, nors saugykloje dabar yra naujas pakeitimų rinkinys, darbiniame kataloge esantis failas `hello.c` vis dar yra nemodifikuotas (t.y. failo turinys liko toks, koks jis buvo prieš vykdant `pull` komandą).

Mes galime atnaujinti (`update`) šį failą (ir visus kitus, kurie buvo įtraukti į pakeitimų rinkinį, pritaikytą šiai saugyklai), naudodami komandą `update` arba jos trumpinį `up`:

{{{
$ hg up
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
}}}

Dabar jau galime įsitikinti, kad saugyklų `mano-hello-pervesti-pakeitimai` ir `mano-hello-nauja-eilute` turinys ir pakeitimų istorija sutampa:

{{{
$ hg pull ../mano-hello-nauja-eilute
$ hg push ../mano-hello-nauja-eilute
}}}

Jeigu abi šios komandos grąžina pranešimą `no changes found`, tuomet galime būti tikri, kad saugyklos yra identiškos. Šias komandas galime įvykdyti ir naudodami `mano-hello-pervesti-pakeitimai` saugyklą.

Norėdami atliktu darbu pasidalinti su kaitais, turėsime eksportuoti savo pakeitimus - [[LithuanianTutorialExport]].

----
CategoryTutorial