Ero sivun ”Mercurial” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (→‎Olemassaolevan projektin tuominen: muutoshistorian kopioituminen)
Rivi 50: Rivi 50:


=== Muutoksien päivittäminen ===
=== Muutoksien päivittäminen ===
Tehdyt muutokset voidaan päivittää paikalliseen varastoon komennolla <tt>hg commit</tt>. Jos haluat lisätä päivitykseen kommentin, käytä valitsinta <tt>-m</tt>:
Tehdyt muutokset voidaan päivittää paikalliseen varastoon komennolla
$ hg commit
 
Tämä avaa oletuseditorin johon voit kirjoittaa muutostapahtumalle kuvauksen. Yleensä kannattaa menetellä niin, että ensimmäiselle riville kirjoitetaan lyhyt kuvaus joka yksinään pystyy kertomaan mitä muutoksia on tehty. Tämä siitä syystä, että vain ensimmäinen rivi näkyy esim. <tt>hg log</tt> -komennon tulosteessa. Muut rivit kannattaa käyttää yksityiskohtaisempaan kuvaukseen.
 
Päivitykseen voi myös lisätä suoraan lyhyen kommentin käyttämällä valitsinta <tt>-m</tt>:
  $ hg commit -m "Korjasin muistivuodon"
  $ hg commit -m "Korjasin muistivuodon"



Versio 24. helmikuuta 2008 kello 19.04

Mercurial on kevyt ja nopea versionhallintajärjestelmä. Vaikka Mercurial on suhteellisen uusi, monet ohjelmistokehittäjät ja projektit (kuten Mozilla) ovat ottaneet sen käyttöön. Mercurial on tehty Pythonilla ja se tukee hajautettua versionhallintaa.

Mercurial on lähtökohtaisesti suunniteltu hajautettuun lähdekoodin hallintaan. Projektilla ei ole CVS:n tai SVN:n tapaan yhtä keskeistä lähdekoodivarastoa jonne jokainen kehittäjä tekee muutokset, vaan kaikki varastot ovat samanarvoisia. Käytännössä tämä tarkoittaa sitä, että jokaisella kehittäjällä on oma paikallinen kopio koko projektin kehityshistoriasta, ja tehdyt muutokset siirtyvät varastosta toiseen. Kehittäjä voi näin ollen tuoda kenen tahansa kehityshaaran (branch) omalle koneelleen ja yhdistää muutokset omaan paikalliseen kopioonsa.

Mercurialin käyttö

Mercurialia käytetään komennolla hg.

Olemassaolevan projektin tuominen

Olemassaolevasta projektista voi tehdä paikallisen kopion komennolla

$ hg clone http://palvelin.example/projekti

Se hakee palvelimelta kopion kohteesta "projekti" ja tallentaa sen uuteen samannimiseen hakemistoon.

Projektin tiedostot päivitetään komennolla

$ hg pull http://palvelin.example/projekti

Samalla kopioituu palvelimella oleva muutoshistoria. Huomaa, että tämä ei kuitenkaan päivitä työkopion tiedostoja. Jos aiot tehdä muutoksia johonkin projektin tiedostoista, kannattaa päivittää tiedostot myös työkopioon. Tämä tapahtuu komennolla

$ hg update

Vaihtoehtoisesti voit käyttää pull-komennon kanssa valitsinta -u, jolloin työkopio päivitetään automaattisesti paikallisen kopion päivityksen jälkeen.

$ hg pull -u http://palvelin.example/projekti

Uuden projektin luominen

Uusi projekti luodaan hakemistoon projekti komennolla

$ cd projekti/
$ hg init

Tämä tekee hakemistoon uuden hakemiston nimeltä .hg, jossa Mercurial säilyttää projektin tietoja.

Tiedostojen lisääminen ja poistaminen

Tiedostoja lisätään projektiin komennolla hg add.

$ hg add sound.c input.c

Poistaminen tapahtuu vastaavasti komennolla hg rm.

$ hg rm sound.c

Paikallisessa varastossa olevat muokatut tiedostot voi nähdä komennolla hg status.

$ hg status
? TODO
M main.c
M graphics.c
A input.c
R sound.c

Merkki ennen tiedoston nimeä kertoo, mitä tiedostolle on tehty.

M = tiedostoa on muutettu
A = tiedosto on lisätty
R = tiedosto on poistettu
? = tiedostoa ei ole lisätty varastoon

Muutoksien päivittäminen

Tehdyt muutokset voidaan päivittää paikalliseen varastoon komennolla

$ hg commit

Tämä avaa oletuseditorin johon voit kirjoittaa muutostapahtumalle kuvauksen. Yleensä kannattaa menetellä niin, että ensimmäiselle riville kirjoitetaan lyhyt kuvaus joka yksinään pystyy kertomaan mitä muutoksia on tehty. Tämä siitä syystä, että vain ensimmäinen rivi näkyy esim. hg log -komennon tulosteessa. Muut rivit kannattaa käyttää yksityiskohtaisempaan kuvaukseen.

Päivitykseen voi myös lisätä suoraan lyhyen kommentin käyttämällä valitsinta -m:

$ hg commit -m "Korjasin muistivuodon"

Muutoksien päivittäminen ulkoiseen varastoon tapahtuu komennolla

$ hg push http://palvelin.example/projekti

Muutoshistorian voi nähdä komentamalla

$ hg log

Työskentelyn alla olevan projektin tämänhetkiset muutokset näkee komentamalla

$ hg diff

Tämä näyttää muutokset unified diff -muodossa. Esimerkiksi revisioiden 100 ja 101 väliset muutokset voidaan nähdä komennolla

$ hg diff -r 100:101

Katso myös

Aiheesta muualla