Saugyklos kopijavimas
(šis puslapis - viena iš LithuanianTutorial įvado dalių. Ankstesnė dalis - LithuanianTutorialInit, kita dalis - LithuanianTutorialHistory)
Lengviausias būdas, pradėti dirbti su Mercurial sistema, tai pasinaudoti egzistuojančia saugykla, kurioje jau yra keli failai ir jų pakeitimų istorija.
Tam naudosime clone komandą.1 Ši komanda tiesiog sukuria nurodytos saugyklos kopiją ("kloną") - t.y. visi kokios nors saugyklos failai ir jų istorija nukopijuojami į kitą saugyklą, pavyzdžiui, mūsų naujai sukurtą ir nuosavą, kurioje galėtume laisvai dirbti.
Taigi nusikopijuokime mažą "hello, world" saugyklą, esancią selenic.com tinklapyje:
$ hg clone http://www.selenic.com/repo/hello mano-hello
Jeigu viskas įvyko sėkmingai, clone komanda išves štai ką (Mercurial 1.4):
requesting all changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 2 files updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Dabar mūsų darbiniame kataloge turėtume rasti naują pakatalogį mano-hello:
$ ls mano-hello
mano-hello katalogo viduje turėtume rasti kelis failus bei .hg direktoriją, kurioje saugomi Mercurial sistemos duomenys (iš esmės tai visos saugyklos istorija ir informacija apie atskiras jos būsenas — žr. Repository):
$ ls -a . .. .hg Makefile hello.c
Šie failai yra tikslios kopijos tų, kurie buvo mūsų kątik klonuotos saugyklos numatytosios šakos paskutinėje ("tip") versijoje.
Svarbu: kiekviena Mercurial saugykla yra visiškai nepriklausoma. Kai klonuojame saugyklą, naujai sukurta saugykla tampa tikslia senesnės saugyklos kopija (clone komandos įvykdymo metu), bet tolimesni pakeitimai bet kurioje iš saugyklų automatiškai neatsidurs kitoje, nebent jūs specialiai juos pervesite pull ar push komandomis.
Standartiškai, hg clone į naujos saugyklos darbinį katalogą (WorkingDirectory) įkelia viršutinį (turintį "tip" žymę) pakeitimų rinkinį - t.y. naujausią saugyklos "numatytosios šakos" reviziją (Revision). Norėdami sužinoti, kuri revizija šiuo metu yra įkelta į darbinį katalogą, galime pasinaudoti parents komanda:2
$ hg parents changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile
Toliau pradėsime nagrinėti mūsų naujos saugyklos istoriją - LithuanianTutorialHistory.