Ero sivun ”Mercurial” versioiden välillä

Siirry navigaatioon Siirry hakuun
926 merkkiä lisätty ,  29. kesäkuuta 2017
ei muokkausyhteenvetoa
p (→‎Mercurialin asennus: komennot peruskäyttäjällä)
Ei muokkausyhteenvetoa
 
(11 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 4: Rivi 4:
| kuvateksti=
| kuvateksti=
| käyttöliittymä=Teksti
| käyttöliittymä=Teksti
| lisenssi=[[GPL]]
| lisenssi=[[GPLv2+]]
| kotisivu=[http://selenic.com/mercurial selenic.com/mercurial]}}
| kotisivu=[https://www.mercurial-scm.org/ www.mercurial-scm.org]
Mercurial on [[Python]]illa 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 [[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 [[Python]]illa ja [[C]]:llä toteutettu kevyt ja nopea hajautettu [[versionhallintajärjestelmä]]. Vaikka Mercurial on suhteellisen uusi, monet ohjelmistokehittäjät ja projektit (kuten [[Mozilla]]) ovat ottaneet sen käyttöön.


== Mercurialin asennus ==
Mercurial-projekteilla ei ole [[CVS]]:n tai [[Subversion]]in tapaan yhtä keskeistä tietovarastoa (engl. ''repository'') jonne jokainen kehittäjä tekee muutokset, vaan kaikki tietovarastot 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 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:
 
== Asennus ==
 
Mercurial löytyy useimpien jakeluiden [[paketinhallinta|paketinhallinnasta]] nimellä <tt>mercurial</tt>. Jos kuitenkin haluat ohjelmasta uusimman version, saatat joutua 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 esimerkiksi 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 23: Rivi 36:
  $ python setup.py install
  $ python setup.py install


Joskus saatat haluta asentaa itse käännetyt ohjelmistot ja kirjastot omaan hakemistoonsa, jolloin voit käyttää valitsinta <tt>--home=hakemisto</tt>:
Kun haluat asentaa itse käännetyt ohjelmistot ja kirjastot johonkin tiettyyn hakemistoon, voit käyttää valitsinta <tt>--home=hakemisto</tt>:


  $ python setup.py install --home=$HOME/paketit/
  $ python setup.py install --home=$HOME/paketit/
Rivi 29: Rivi 42:
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>. Ohjelman sisäiset komennot saa listattua komennolla <tt>hg help</tt>. Aliakset saa näkyviin käyttämällä <tt>help</tt>-komennon kanssa <tt>-v</tt>-valitsinta. Yksittäisen komennon käyttöohjeen näkee komennolla <tt>hg help komento</tt> (esim. <tt>hg help clone</tt>).


=== Olemassa olevan projektin tuominen ===
=== Olemassa olevan projektin tuominen ===
Rivi 37: Rivi 50:
Se hakee palvelimelta kopion kohteesta "projekti" ja tallentaa sen uuteen samannimiseen hakemistoon.
Se hakee palvelimelta kopion kohteesta "projekti" ja tallentaa sen uuteen samannimiseen hakemistoon.


Projektin tiedostot päivitetään komennolla
Projektin tiedostot päivitetään palvelimelta komennolla
  $ hg pull http://palvelin.example/projekti
  $ hg pull http://palvelin.example/projekti


Rivi 54: Rivi 67:


=== Tiedostojen lisääminen ja poistaminen ===
=== Tiedostojen lisääminen ja poistaminen ===
Tiedostoja lisätään projektiin komennolla <tt>hg add</tt>.
Tiedostoja lisätään projektiin komennolla <tt>add</tt>.
  $ hg add sound.c input.c
  $ hg add sound.c input.c
Jos <tt>add</tt>-komennolle ei anneta yhtään tiedostonimeä, Mercurial lisää kaikki nykyisen hakemiston tiedostot varastoon.


Poistaminen tapahtuu vastaavasti komennolla <tt>hg rm</tt>.
Poistaminen tapahtuu vastaavasti komennolla <tt>remove</tt> (lyhyemmin <tt>rm</tt>).
  $ hg rm sound.c
  $ hg remove sound.c


Tiedostojen uudelleennimeäminen tapahtuu komennolla <tt>hg rename</tt>.
Tiedostojen uudelleennimeäminen tapahtuu komennolla <tt>rename</tt>.
  $ hg rename vanha.c uusi.c
  $ hg rename vanha.c uusi.c


Paikallisessa varastossa olevat muokatut tiedostot voi nähdä komennolla <tt>hg status</tt>.
Paikallisessa varastossa olevat muokatut tiedostot voi nähdä komennolla <tt>status</tt>.
  $ hg status
  $ hg status
  ? TODO
  ? TODO
Rivi 84: Rivi 98:
  $ hg commit
  $ 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. <tt>hg log</tt> -komennon tulosteessa. Muut rivit kannattaa käyttää yksityiskohtaisempaan kuvaukseen.
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. <tt>log</tt>-komennon tulosteessa. Muut rivit kannattaa käyttää yksityiskohtaisempaan kuvaukseen.


Jos et haluakaan tehdä muutosta, voit sulkea tekstieditorin tallentamatta tiedostoa.
Jos et haluakaan tehdä muutosta, voit sulkea tekstieditorin tallentamatta tiedostoa.
Rivi 100: Rivi 114:
  $ 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>-valitsimella varustettuna.
 
Käyttämällä <tt>-t</tt>-valitsinta 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


Rivi 112: Rivi 128:
== Aiheesta muualla==
== Aiheesta muualla==
*[http://www.selenic.com/mercurial/wiki/index.cgi/QuickStart Mercurial Quick Start] – pikaopas Mercurialin käyttämiseksi (englanniksi)
*[http://www.selenic.com/mercurial/wiki/index.cgi/QuickStart Mercurial Quick Start] – pikaopas Mercurialin käyttämiseksi (englanniksi)
*[http://hgbook.red-bean.com/ Distributed revision control with Mercurial] – kattava ja ajan tasalla pidetty käsikirja (englanniksi)
*[http://hgbook.red-bean.com/ Mercurial: The Definitive Guide] – kattava ja ajan tasalla pidetty käsikirja (englanniksi)


[[Luokka:Kehitystyökalut]]
[[Luokka:Kehitystyökalut]]

Navigointivalikko