Ero sivun ”Mercurial” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (→‎Mercurialin asennus: komennot peruskäyttäjällä)
(enemmän easy_installista)
Rivi 10: Rivi 10:
Mercurial on lähtökohtaisesti suunniteltu hajautettuun lähdekoodin hallintaan. Projektilla ei ole [[CVS]]:n tai [[Subversion|SVN]]:n tapaan yhtä keskeistä lähdekoodivarastoa (engl. ''repository'') 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 (engl. ''branch'') omalle koneelleen ja yhdistää muutokset omaan paikalliseen kopioonsa.
Mercurial on lähtökohtaisesti suunniteltu hajautettuun lähdekoodin hallintaan. Projektilla ei ole [[CVS]]:n tai [[Subversion|SVN]]:n tapaan yhtä keskeistä lähdekoodivarastoa (engl. ''repository'') 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 (engl. ''branch'') omalle koneelleen ja yhdistää muutokset omaan paikalliseen kopioonsa.


== Mercurialin asennus ==
== Asennus ==
Mercurial löytyy useimpien jakeluiden [[paketinhallinta|paketinhallinnasta]]. Jos haluat käyttää uusinta versiota tai muuten vain asentaa ohjelmiston käsin, binääripaketin asennus onnistuu helposti käyttämällä [http://peak.telecommunity.com/DevCenter/EasyInstall easy_install]-ohjelmaa:
 
Mercurial löytyy useimpien jakeluiden [[paketinhallinta|paketinhallinnasta]]. Jos kuitenkin haluat ohjelmasta uusimman version, joudut joko asentamaan ohjelmiston käsin tai käyttämään [http://peak.telecommunity.com/DevCenter/EasyInstall Easy Install] -ohjelmaa, joka on tarkoitettu Python-ohjelmien asennukseen.
 
=== Easy Install ===
 
Mercurialin asennus tai päivitys uusimpaan versioon tapahtuu komennolla:


  $ easy_install -U mercurial
  $ easy_install -U mercurial


=== Asentaminen kotihakemistoon ===
Easy Install asentaa Mercurialin skriptin (<tt>hg</tt>) ja kirjastot niihin hakemistoihin, joka on määritelty tiedostossa <tt>.pydistutils.cfg</tt>. Voit esimerksiksi määrittää hakemistoksi kotihakemistosi, jolloin et tarvitse [[Root|pääkäyttäjä]]n oikeuksia. Tiedoston sisältö voi olla esimerkiksi seuraavanlainen:
 
[install]
install_lib = /home/kayttaja/lib/python
install_scripts = /home/kayttaja/bin
 
=== Asentaminen käsin kotihakemistoon ===


  $ cd $HOME
  $ cd $HOME
Rivi 29: Rivi 40:
Tällöin tarvittavat binäärit ja kirjastot asentuvat hakemistoihin <tt>$HOME/paketit/bin/</tt> ja <tt>$HOME/paketit/lib/</tt>.
Tällöin tarvittavat binäärit ja kirjastot asentuvat hakemistoihin <tt>$HOME/paketit/bin/</tt> ja <tt>$HOME/paketit/lib/</tt>.


== Mercurialin käyttö ==
== Ohjelman peruskäyttö ==
Mercurialia käytetään komennolla <tt>hg</tt>. Kaikki komennot saa listattua komennolla <tt>hg help</tt>. Yksittäisen komennon käyttöohjeen näkee komennolla <tt>hg help komento</tt> (esim. <tt>hg help clone</tt>).
Mercurialia käytetään komennolla <tt>hg</tt>. Kaikki komennot saa listattua komennolla <tt>hg help</tt>. Yksittäisen komennon käyttöohjeen näkee komennolla <tt>hg help komento</tt> (esim. <tt>hg help clone</tt>).


Rivi 100: Rivi 111:
  $ hg diff
  $ hg diff


Tämä näyttää muutokset unified diff -muodossa. Esimerkiksi revisioiden 100 ja 101 väliset muutokset voidaan nähdä komennolla
Tämä näyttää muutokset ''unified diff'' -muodossa. Tämä vastaa [[diff]]-ohjelman tulostetta <tt>-u</tt>-lipulla varustettuna.
 
Käyttämällä <tt>-t</tt>-lippua voidaan nähdä revisioiden väliset muutokset. Esimerkiksi revisioiden 100 ja 101 väliset muutokset näet komennolla
  $ hg diff -r 100:101
  $ hg diff -r 100:101



Versio 22. joulukuuta 2008 kello 16.34

Mercurial
Mercurial-logo
Käyttöliittymä Teksti
Lisenssi GPL
Kotisivu selenic.com/mercurial

Mercurial on Pythonilla ja C:llä toteutettu 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 lähtökohtaisesti suunniteltu hajautettuun lähdekoodin hallintaan. Projektilla ei ole CVS:n tai SVN:n tapaan yhtä keskeistä lähdekoodivarastoa (engl. repository) 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 (engl. branch) omalle koneelleen ja yhdistää muutokset omaan paikalliseen kopioonsa.

Asennus

Mercurial löytyy useimpien jakeluiden paketinhallinnasta. Jos kuitenkin haluat ohjelmasta uusimman version, joudut joko asentamaan ohjelmiston käsin tai käyttämään Easy Install -ohjelmaa, joka on tarkoitettu Python-ohjelmien asennukseen.

Easy Install

Mercurialin asennus tai päivitys uusimpaan versioon tapahtuu komennolla:

$ easy_install -U mercurial

Easy Install asentaa Mercurialin skriptin (hg) ja kirjastot niihin hakemistoihin, joka on määritelty tiedostossa .pydistutils.cfg. Voit esimerksiksi määrittää hakemistoksi kotihakemistosi, jolloin et tarvitse pääkäyttäjän oikeuksia. Tiedoston sisältö voi olla esimerkiksi seuraavanlainen:

[install]
install_lib = /home/kayttaja/lib/python
install_scripts = /home/kayttaja/bin

Asentaminen käsin kotihakemistoon

$ cd $HOME
$ wget http://www.selenic.com/mercurial/release/mercurial-VERSIO.tar.gz  # esim. mercurial-1.1.1.tar.gz
$ tar -xzvf mercurial-VERSIO.tar.gz
$ cd mercurial-VERSIO
$ python setup.py install

Joskus saatat haluta asentaa itse käännetyt ohjelmistot ja kirjastot omaan hakemistoonsa, jolloin voit käyttää valitsinta --home=hakemisto:

$ python setup.py install --home=$HOME/paketit/

Tällöin tarvittavat binäärit ja kirjastot asentuvat hakemistoihin $HOME/paketit/bin/ ja $HOME/paketit/lib/.

Ohjelman peruskäyttö

Mercurialia käytetään komennolla hg. Kaikki komennot saa listattua komennolla hg help. Yksittäisen komennon käyttöohjeen näkee komennolla hg help komento (esim. hg help clone).

Olemassa olevan projektin tuominen

Olemassa olevasta 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 komennolla init

$ 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

Tiedostojen uudelleennimeäminen tapahtuu komennolla hg rename.

$ hg rename vanha.c uusi.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

Jos projektiin ei ole tehty muutoksia, status-komento ei tulosta mitään.

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 kirjoittaa ensimmäiselle riville 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.

Jos et haluakaan tehdä muutosta, voit sulkea tekstieditorin tallentamatta tiedostoa.

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. Tämä vastaa diff-ohjelman tulostetta -u-lipulla varustettuna.

Käyttämällä -t-lippua voidaan nähdä revisioiden väliset muutokset. Esimerkiksi revisioiden 100 ja 101 väliset muutokset näet komennolla

$ hg diff -r 100:101

Katso myös

Aiheesta muualla