Muokataan sivua Mercurial
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 3: | Rivi 3: | ||
| kuva=[[Image:mercurial-logo.png|Mercurial-logo]] | | kuva=[[Image:mercurial-logo.png|Mercurial-logo]] | ||
| kuvateksti= | | kuvateksti= | ||
| käyttöliittymä= | | käyttöliittymä=teksti | ||
| lisenssi=[[ | | lisenssi=[[GPL]] | ||
| kotisivu=[ | | kotisivu=[http://selenic.com/mercurial selenic.com/mercurial]}} | ||
}} | 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 (''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 (''branch'') omalle koneelleen ja yhdistää muutokset omaan paikalliseen kopioonsa. | |||
Mercurial | == Mercurialin 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: | |||
easy_install -U mercurial | |||
=== Asentaminen 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 <tt>--home=hakemisto</tt>: | |||
python setup.py install --home=$HOME/paketit/ | |||
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ö == | ||
Mercurialia käytetään komennolla <tt>hg</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>). | ||
=== Olemassa olevan projektin tuominen === | === Olemassa olevan projektin tuominen === | ||
Rivi 50: | Rivi 37: | ||
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 | Projektin tiedostot päivitetään komennolla | ||
$ hg pull http://palvelin.example/projekti | $ hg pull http://palvelin.example/projekti | ||
Rivi 67: | Rivi 54: | ||
=== Tiedostojen lisääminen ja poistaminen === | === Tiedostojen lisääminen ja poistaminen === | ||
Tiedostoja lisätään projektiin komennolla <tt>add</tt>. | Tiedostoja lisätään projektiin komennolla <tt>hg add</tt>. | ||
$ hg add sound.c input.c | $ hg add sound.c input.c | ||
Poistaminen tapahtuu vastaavasti komennolla <tt> | Poistaminen tapahtuu vastaavasti komennolla <tt>hg rm</tt>. | ||
$ hg | $ hg rm sound.c | ||
Tiedostojen uudelleennimeäminen tapahtuu komennolla <tt>rename</tt>. | Tiedostojen uudelleennimeäminen tapahtuu komennolla <tt>hg rename</tt>. | ||
$ hg rename vanha.c uusi.c | $ hg rename vanha.c uusi.c | ||
Paikallisessa varastossa olevat muokatut tiedostot voi nähdä komennolla <tt>status</tt>. | Paikallisessa varastossa olevat muokatut tiedostot voi nähdä komennolla <tt>hg status</tt>. | ||
$ hg status | $ hg status | ||
? TODO | ? TODO | ||
Rivi 98: | Rivi 84: | ||
$ 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>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>hg 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 114: | Rivi 100: | ||
$ hg diff | $ hg diff | ||
Tämä näyttää muutokset | 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 | $ hg diff -r 100:101 | ||
Rivi 128: | Rivi 112: | ||
== 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/ Mercurial | *[http://hgbook.red-bean.com/ Distributed revision control with Mercurial] – kattava ja ajan tasalla pidetty käsikirja (englanniksi) | ||
[[Luokka:Kehitystyökalut]] | [[Luokka:Kehitystyökalut]] |