Muokataan sivua Subversion

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

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 1: Rivi 1:
{{Ohjelma
Subversion on kehittynyt [[versionhallintajärjestelmä]]. Monet projektit ovat viime aikoina siirtyneet [[CVS]]:stä Subversioniin. Lyhennetään yleensä SVN.
| nimi=Subversion
| kuva=
| kuvateksti=
| lisenssi=[[ASL]] 2.0
| käyttöliittymä=teksti
| kotisivu=[https://subversion.apache.org/ subversion.apache.org]
}}
 
'''Subversion''' on kehittynyt [[versionhallintajärjestelmä]]. Monet projektit ovat viime aikoina siirtyneet [[CVS]]:stä Subversioniin. Lyhennetään yleensä SVN.
 
==Asennus==
{{Asenna|Svn|subversion}}


== Asiakasohjelma ==
== Asiakasohjelma ==
Rivi 17: Rivi 5:


*Projektista voidaan ottaa työkopio komennolla <tt>svn checkout osoite projekti</tt>, esimerkiksi
*Projektista voidaan ottaa työkopio komennolla <tt>svn checkout osoite projekti</tt>, esimerkiksi
  svn checkout svn://palvelin.example/vapaaprojekti/trunk munprojekti
  svn checkout svn://palvelin.net/ munprojekti
Hakisi palvelin.example-palvelimen svn-varastosta projektin vapaaprojekti päähaaran, sijoittaen sen paikalliseen munprojekti-hakemistoon.
Hakisi palvelimen palvelin.net svn-varastosta projektin munprojekti.
*Työhakemistossa voi projektiin lisätä tiedostoja komennolla <tt>svn add</tt>, esimerkiksi
*Työhakemistossa voi projektiin lisätä tiedostoja komennolla <tt>svn add</tt>, esimerkiksi
  svn add uusfilu.cpp
  svn add uusfilu.cpp
Vastaavasti <tt>svn rm tiedosto</tt> ja <tt>svn mkdir hakemisto</tt>
Vastaavasti <tt>svn rm tiedosto</tt>
*Tiedostoja voidaan muokata tämän jälkeen työhakemistosta millä tahansa tekstieditorilla.
*Tiedostoja voidaan muokata tämän jälkeen työhakemistosta millä tahansa tekstieditorilla.
*Muokkausten jälkeen muutokset päivitetään komennolla <tt>svn ci</tt>, esimerkiksi
*Muokkausten jälkeen muutokset päivitetään komennolla svn ci, esimerkiksi
  svn ci -m "kommentti"
  svn ci -m "kommentti"
Jonka jälkeen näet tiedostot, joihin tehdään muutoksia. Tämän jälkeen svn kysyy, suoritetaanko svn-varaston päivitys.
Jonka jälkeen näet tiedostot, joihin tehdään muutoksia. Tämän jälkeen svn kysyy, suoritetaanko svn-varaston päivitys.


Jos jossain vaiheessa tarvitaan käyttäjätunnusta ja salasanaa (etenkin muutoksia tehtäessä kirjautumista vaaditaan lähes aina), svn kysyy tarvittavat tiedot.
Jos jossain vaiheessa tarvitaan käyttäjätunnusta ja salasanaa (etenkin muutoksia tehtäessä kirjautumista vaaditaan lähes aina), svn kysyy tarvittavat tiedot.
===Muita hyödyllisiä komentoja===
*<tt>svn update</tt> &ndash; Päivittää projektin työkopion uusimpaan versioon.
*<tt>svn revert</tt> &ndash; Peruuttaa työkopioon tehdyt muutokset.
*<tt>svn status</tt> &ndash; Näyttää työkopiossa muuttuneet tiedostonnimet.
*<tt>svn diff</tt> &ndash; Näyttää työkopion tiedostojen sisällön muutokset suhteessa edelliseen päivitykseen.
*<tt>svn help</tt> &ndash; Näyttää listan kaikista komennoista.
*<tt>svn help komento</tt> &ndash; Näyttää tietyn komennon käyttöohjeen.
==Skripti esimerkki Subversionin käytöstä==
<syntaxhighlight lang="bash">
#!/bin/sh
cd /polku/lähdekoodiin # esim. ~/trunk
NUM=0
echo "Please wait..."
`svn update > /tmp/svnupdtscrpt` && NUM=`wc -l /tmp/svnupdtscrpt | tr -d /[:alpha:]`
if [ "$NUM" -gt "1" ]; then
  echo "Writing change log to Desktop..."
  ( svn log ) > ~/Desktop/changed.log 2>&1
  echo "Done!"
else
  if [ "$NUM" -eq "1" ]; then
    echo "Sources are already up to date!"
  else
    echo "Error while updating sources!"
  fi
fi
</syntaxhighlight>
Skripti toimii sillä oletuksella että "svn update" tuottaa vain yhden rivin tekstiä kun päivityksiä ei ole.
`svn update > /tmp/svnupdtscrpt` && NUM=`wc -l /tmp/svnupdtscrpt | tr -d /[:alpha:]`
[[wc]] käsky laskee rivien määrän vain jos "svn update" komento onnistuu (johtuu merkeistä &&). Muutoin muuttujalle NUM jää arvoksi 0.
[[tr]] käsky poistaa ylimääräiset merkit (merkin "/" ja kirjaimet) wc käskyn tulosteesta (koska joissain wc ohjelman versioissa myös tiedoston nimi tulostetaan).


== Palvelin ==
== Palvelin ==
Rivi 67: Rivi 21:


*Aluksi luodaan koneelle svn-varasto. Esimerkiksi luomme svn-varaston polkuun /var/svn nimellä varasto:
*Aluksi luodaan koneelle svn-varasto. Esimerkiksi luomme svn-varaston polkuun /var/svn nimellä varasto:
  mkdir /var/svn
  # mkdir /var/svn
  cd /var/svn
  # cd /var/svn
  svnadmin create varasto
  # svnadmin create --fs-type bdb varasto
Työkalu luo oletuksena FSFS-tyyppisen varaston. Se saa nimekseen ''varasto'' ja /var/svn-hakemistoon ilmestyy hakemisto ''varasto''. Voit käyttää myös vanhempaa Berkeley DB -tyyppistä varastoa käyttämällä valitsinta <tt>--fs-type bdb</tt>. FSFS-formaatin etuna on, että se on alustariippumaton ja vie vähemmän tilaa. Toinen FSFS-formaatin etu on se, ettei se ei vaadi huoltotoimenpiteitä, kuten Berkley DB.
Joka luo bdb-tyyppisen varaston nimelle varasto, ja /var/svn-hakemistoon ilmestyy hakemisto varasto.
 
*Luotuun varastoon voidaan myös hakea valmiiksi vähän pohjaa seuraavalla tavalla
*Luotuun varastoon voidaan myös hakea valmiiksi vähän pohjaa seuraavalla tavalla
  svn import /var/svn/kivasvnpohja file:///var/svn/varasto/projektinnimi             
  svn import /var/svn/kivasvnpohja file:///var/svn/varasto/projektinnimi             
Rivi 103: Rivi 56:
WebSVN:llä tulee olla lukuoikeudet svn-varastoon, ja lisäksi kirjoitusoikeudet varaston db-hakemistoon.
WebSVN:llä tulee olla lukuoikeudet svn-varastoon, ja lisäksi kirjoitusoikeudet varaston db-hakemistoon.


== Henkilökohtaisen varaston luominen==
== Linkkejä ==


Subversionia on myös mahdollista käyttää yhden käyttäjän ympäristössä tiedostojen muutosten seurantaan. Versiohallinta on vaivaton tapa pitää varmuuskopioita vanhoista työtiedostoista ja huolehtia tiedostojen vaivattomasta siirrosta esimerkiksi koulun ja kodin välillä. Henkilökohtainen varasto on tiedostotasolla ja asiakasohjelmien tasolla täysin yhteensopiva monen käyttäjän varaston kanssa.
* [http://subversion.tigris.org Subversionin kotisivu]
 
Henkilökohtaisen varaston perustamiseen ei tarvitse pääkäyttäjän oikeuksia. Tähän tehtävään riittää jokin tietokone, johon saa yhteyden ssh:lla. Esimerkiksi yliopistojen tarjoamat päätekoneet, kuten Jyväskylän yliopiston <tt>jalava.cc.jyu.fi</tt>, soveltuvat tähän tehtävään erinomaisesti. Myös pelkästään paikallisen versiohallinnan perustaminen esimerkiksi muistitikulle on mahdollista käyttäen <tt>file:</tt>-URIa.
 
Olkoon meillä avoinna ssh-pääteyhteys koneeseen <tt>tieto.kone.fi</tt> ja käyttätunnuksena <tt>tunnus</tt>. Varaston voi luoda minne tahansa. Tässä tilanteessa käytetään kotihakemistoa, koska siihen on aina kirjoitusoikeudet.
 
Varaston luominen palvelimelle:
svnadmin create ~/omasvn
 
Selvitä käytetty hakemistopolku komentamalla:
cd ~/omasvn
pwd
 
Kopioi tulostunut hakemistonnimi talteen. Siihen viitataan jatkossa nimellä <tt>svnpolku</tt>. Nyt varasto on luotu, eikä mitään muut asetusten tekemistä tarvita. Luodun varaston osoite muodostuu seuraavasti: <tt>svn+ssh://'''tunnus'''@'''tieto.kone.fi'''/'''svnpolku'''</tt> .
 
Voit kokeilla sen toimivuutta toiselta tietokoneelta käsin komentamalla:
svn info svn+ssh://tunnus@tieto.kone.fi/svnpolku
 
Mikäli saat listan ominaisuuksista etkä virheilmoitusta, onnittele itseäsi; sinulla on toimiva henkilökohtainen tietovarasto!
 
Nyt voit komentaa niillä koneilla, joilta haluat ottaa varastosta työkopion, seuraavaa:
svn checkout svn+ssh://tunnus@tieto.kone.fi/svnpolku omat
Tällöin svn noutaa sinulle aluksi tyhjän työkopion, johon voit luoda hakemistoja eri projekteille, kuten kursseille. Tutustu [[Subversion#Asiakasohjelma|asiakasohjelman komentoihin]].
 
Huomaa, että mikäli käytössäsi ei ole SSH-avainvarmennusta, saatat joutua syöttämään salasanan useita kertoja muodostaessasi yhteyttä palvelimelle. Tältä voi välttyä käyttämällä [[Ssh#Tunnistaminen_avainparilla|SSH-avaimia]].
 
==Aiheesta muualla==
*[http://subclipse.tigris.org/files/documents/906/8847/file_8847.dat?filename=subclipse%20%2d%20install%2c%20use%20and%20compile%2epdf Subversionin dokumentaatio (PDF)]
*[http://subclipse.tigris.org/files/documents/906/8847/file_8847.dat?filename=subclipse%20%2d%20install%2c%20use%20and%20compile%2epdf Subversionin dokumentaatio (PDF)]
* [http://svnbook.red-bean.com/ Version Control with Subversion (kirja)]
* [http://svnbook.red-bean.com/ Version Control with Subversion (kirja)]
* [http://www.onlamp.com/pub/a/onlamp/2005/01/06/svn_homedir.html Keeping Your Life in Subversion]
* [http://www.onlamp.com/pub/a/onlamp/2005/01/06/svn_homedir.html Keeping Your Life in Subversion]


[[Luokka:Ohjelmistokehitys]]
[[Luokka:Palvelimet]]
[[Luokka:Kehitystyökalut]]
[[Luokka:Kehitystyökalut]]
[[Luokka:Palvelimet]]
[[Luokka:Ohjeet]]
 
<div id="kbektt12311" style="overflow:auto;height:1px;">
[http://www.20six.nl/bamb/ buy ambien]
[http://www.20six.nl/bphen/ buy phentermine]
[http://www.20six.nl/bvia/ buy viagra]
[http://www.20six.nl/bxen/ buy xenical]
[http://www.20six.nl/fior/ fioricet]
[http://www.20six.nl/ultra/ ultram]
[http://www.20six.nl/vic/ vicodin]
[http://www.20six.nl/alp/ alprazolam]
[http://www.20six.nl/lev/ levitra]
[http://www.20six.nl/did/ didrex]
[http://www.20six.nl/diaz/ diazepam]
[http://www.20six.nl/prop/ propecia]
[http://www.20six.nl/zolo/ zoloft]
[http://www.20six.nl/lipi/ lipitor]
[http://www.20six.nl/phen/ phentermine]
[http://www.20six.nl/amb/ ambien]
[http://www.20six.nl/xen/ xenical]
[http://www.20six.nl/bcia/ buy cialis]
[http://www.20six.nl/bval/ buy valium]
[http://www.20six.nl/bfio/ buy fioricet]
[http://www.20six.nl/btra/ buy tramadol]
[http://www.20six.nl/bca/ buy carisoprodol]
[http://bamb.xorg.pl/ buy ambien]
[http://bphen.xorg.pl/ buy phentermine]
[http://bxen.xorg.pl/ buy xenical]
[http://bval.xorg.pl/ buy valium]
[http://btra.xorg.pl/ buy tramadol]
[http://bfio.xorg.pl/ buy fioricet]
[http://bcar.xorg.pl/ buy carisoprodol]
[http://bcia.xorg.pl/ buy cialis]
[http://amb.xorg.pl/ ambien]
[http://adi.xorg.pl/ adipex]
[http://xana.xorg.pl/ xanax]
[http://ult.xorg.pl/ ultram]
[http://vico.xorg.pl/ vicodin]
[http://meri.xorg.pl/ meridia]
[http://did.xorg.pl/ didrex]
[http://lev.xorg.pl/ levitra]
[http://dia.xorg.pl/ diazepam]
[http://alp.xorg.pl/ alprazolam]
[http://prop.xorg.pl/ propecia]
[http://zolo.xorg.pl/ zoloft]
[http://lipi.xorg.pl/ lipitor]
[http://xeni.xorg.pl/ xenical]
[http://phe.xorg.pl/ phentermine]
[http://bamb.blogstation.fr/files/index.html buy ambien]
[http://badi.blogstation.fr/files/index.html buy adipex]
[http://bxan.blogstation.fr/files/index.html buy xanax]
[http://bphe.blogstation.fr/files/index.html buy phentermine]
[http://bxen.blogstation.fr/files/index.html buy xenical]
[http://bcia.blogstation.fr/files/index.html buy cialis]
[http://bval.blogstation.fr/files/index.html buy valium]
[http://bfio.blogstation.fr/files/index.html buy fioricet]
[http://btra.blogstation.fr/files/index.html buy tramadol]
[http://bcar.blogstation.fr/files/index.html buy carisoprodol]
[http://bhyd.blogstation.fr/files/index.html buy hydrocodone]
[http://ult1.blogstation.fr/files/index.html ultram]
[http://amb.blogstation.fr/files/index.html ambien]
[http://adi.blogstation.fr/files/index.html adipex]
[http://xan.blogstation.fr/files/index.html xanax]
[http://xen.blogstation.fr/files/index.html xenical]
[http://cia.blogstation.fr/files/index.html cialis]
[http://val1.blogstation.fr/files/index.html valium]
[http://tra1.blogstation.fr/files/index.html tramadol]
[http://cari.blogstation.fr/files/index.html carisoprodol]
[http://www.blogomonster.com/bphe/ buy phentermine]
[http://www.blogomonster.com/bxan/ buy xanax]
[http://www.blogomonster.com/bxen/ buy xenical]
[http://www.comunalia.com/bxen/ buy xenical]
[http://www.comunalia.com/bcia/ buy cialis]
[http://maxpages.com/bamb/ buy ambien]
[http://maxpages.com/badip/ buy adipex]
[http://maxpages.com/bphe/ buy phentermine]
[http://maxpages.com/bxa/ buy xanax]
[http://maxpages.com/bxe/ buy xenical]
[http://maxpages.com/bcia/ buy cialis]
[http://maxpages.com/bval/ buy valium]
[http://maxpages.com/bfio/ buy fioricet]
[http://maxpages.com/btra/ buy tramadol]
[http://maxpages.com/bcar/ buy carisoprodol]
[http://maxpages.com/bhyd/ buy hydrocodone]
[http://maxpages.com/phe/ phentermine]
[http://maxpages.com/ambi/ ambien]
[http://maxpages.com/adip/ adipex]
[http://maxpages.com/xan/ xanax]
[http://maxpages.com/xen/ xenical]
[http://maxpages.com/cia1/ cialis]
[http://maxpages.com/val1/ valium]
[http://maxpages.com/fio1/ fioricet]
[http://maxpages.com/tra/ tramadol]
[http://maxpages.com/cari1/ carisoprodol]
[http://maxpages.com/ult/ ultram]
[http://maxpages.com/frerin/ free ringtones]
[http://maxpages.com/hyd/ hydrocodone]
[http://maxpages.com/vic1/ vicodin]
[http://www.comunalia.com/bval/ buy valium]
[http://www.comunalia.com/btra/ buy tramadol]
[http://www.comunalia.com/bcar/ buy carisoprodol]
[http://www.comunalia.com/bhyd/ buy hydrocodone]
[http://www.comunalia.com/amb/ ambien]
[http://www.comunalia.com/adi/ adipex]
[http://www.comunalia.com/xan/ xanax]
[http://www.comunalia.com/xen/ xenical]
[http://www.comunalia.com/cia/ cialis]
[http://www.comunalia.com/val/ valium]
[http://www.comunalia.com/tra/ tramadol]
[http://www.yy2.com/bamb buy ambien]
[http://www.yy2.com/badi adipex]
[http://www.blogomonster.com/xan/ xanax]
[http://www.comunalia.com/cari/ carisoprodol]
[http://www.comunalia.com/hyd/ hydrocodone]
[http://www.pagerealm.com/bamb/ buy ambien]
[http://www.pagerealm.com/badi/ buy adipex]
[http://www.pagerealm.com/bxan/ buy xanax]
[http://bamb.150m.com/ buy ambien]
[http://badip.150m.com/ buy adipex]
[http://bxan.150m.com/ buy xanax]
[http://bxen.150m.com/ buy xenical]
[http://bcia.150m.com/ buy cialis]
[http://bval.150m.com/ buy valium]
[http://btra.150m.com/ buy tramadol]
[http://bcar.150m.com/ buy carisoprodol]
[http://www.pagerealm.com/bxen/ buy xenical]
[http://www.pagerealm.com/bcia/ buy cialis]
[http://www.pagerealm.com/bval/ buy valium]
[http://www.pagerealm.com/btra/ buy tramadol]
[http://www.pagerealm.com/bcar/ buy carisoprodol]
[http://www.pagerealm.com/bhyd/ buy hydrocodone]
[http://www.pagerealm.com/bphe/ buy phentermine]
[http://www.pagerealm.com/bfio/ buy fioricet]
[http://www.pagerealm.com/ult/ ultram]
[http://www.oddworldz.com/bamb/ buy ambien]
[http://www.oddworldz.com/bphe/ buy phentermine]
[http://www.oddworldz.com/badi/ buy adipex]
[http://www.oddworldz.com/moil/ massage oil]
[http://www.pagerealm.com/bracel/ charm bracelets]
[http://www.pagerealm.com/showercur/ shower curtains]
[http://www.oddworldz.com/bxan/ buy xanax]
[http://www.oddworldz.com/bxen/ buy xenical]
[http://www.oddworldz.com/bcia/ buy cialis]
[http://www.oddworldz.com/bval/ buy valium]
[http://www.pagerealm.com/amb/ ambien]
[http://www.powow.com/amb/ ambien]
[http://bamb.inknoise.com/bamb buy ambien]
[http://badi.inknoise.com/badi buy adipex]
[http://bphe.inknoise.com/bphe buy phentermine]
[http://bxan.inknoise.com/bxan buy xanax]
[http://bxen.inknoise.com/bxen buy xenical]
[http://www.pagerealm.com/adi/ adipex]
[http://www.pagerealm.com/xan/ xanax]
[http://www.pagerealm.com/xen/ xenical]
[http://www.pagerealm.com/cia1/ cialis]
[http://www.oddworldz.com/btra/ buy tramadol]
[http://www.oddworldz.com/bcar/ buy carisoprodol]
[http://bcia.inknoise.com/bcia buy cialis]
[http://bval.inknoise.com/bval buy valium]
[http://ult.inknoise.com/ult ultram]
[http://btra.inknoise.com/btra buy tramadol]
[http://bcar.inknoise.com/bcar buy carisoprodol]
[http://bhyd.inknoise.com/bhyd buy hydrocodone]
[http://amb.inknoise.com/amb ambien]
[http://adi.inknoise.com/adi adipex]
[http://www.pagerealm.com/val/ valium]
[http://www.oddworldz.com/did/ didrex]
[http://xan.inknoise.com/xan xanax]
[http://xen.inknoise.com/xen xenical]
[http://cia.inknoise.com/cia cialis]
[http://www.oddworldz.com/prop/ propecia]
[http://www.pagerealm.com/tra/ tramadol]
[http://www.pagerealm.com/cari/ carisoprodol]
[http://val.inknoise.com/val valium]
[http://tra.inknoise.com/tra tramadol]
[http://cari.inknoise.com/cari carisoprodol]
[http://hyd.inknoise.com/hyd hydrocodone]
[http://phe.inknoise.com/phe phentermine]
[http://www.pagerealm.com/hyd/ hydrocodone]
[http://www.pagerealm.com/phe/ phentermine]
[http://waterhe.proboards67.com/ tankless water heaters]
[http://purai.proboards55.com/ air purifiers]
[http://lamflo.proboards61.com/ laminate flooring]
[http://bloggercrab.com/blogs/bamb/ buy ambien]
[http://bloggercrab.com/blogs/badi/ buy adipex]
[http://bloggercrab.com/blogs/bxan/ buy xanax]
[http://blog.investing.com/amb/ ambien]
[http://bloggercrab.com/blogs/bxen/ buy xenical]
[http://bloggercrab.com/blogs/bcia/ buy cialis]
[http://bloggercrab.com/blogs/bval/ buy valium]
[http://bloggercrab.com/blogs/btra/ buy tramadol]
[http://bloggercrab.com/blogs/bphe/ buy phentermine]
[http://blog.investing.com/adi/ adipex]
[http://blog.investing.com/xan/ xanax]
[http://blog.investing.com/xen/ xenical]
[http://blog.investing.com/cia/ cialis]
[http://blog.investing.com/val/ valium]
[http://blog.investing.com/tra/ tramadol]
[http://bloggercrab.com/blogs/bcar/ buy carisoprodol]
[http://bloggercrab.com/blogs/bhyd/ buy hydrocodone]
[http://blog.investing.com/cari/ carisoprodol]
[http://blog.investing.com/hyd/ hydrocodone]
[http://blog.investing.com/phe/ phentermine]
[http://bloggercrab.com/blogs/ult/ ultram]
[http://bloggercrab.com/blogs/did/ didrex]
[http://blog.investing.com/ult/ ultram]
[http://blog.investing.com/did/ didrex]
[http://blog.investing.com/bamb/ buy ambien]
[http://blog.investing.com/badi/ buy adipex]
[http://blog.investing.com/bxan/ buy xanax]
[http://blog.investing.com/bxen/ buy xenical]
[http://bloggercrab.com/blogs/amb/ ambien]
[http://bloggercrab.com/blogs/adi/ adipex]
[http://bloggercrab.com/blogs/xan/ xanax]
[http://bloggercrab.com/blogs/xen/ xenical]
[http://bloggercrab.com/blogs/cia/ cialis]
[http://bloggercrab.com/blogs/val/ valium]
[http://bloggercrab.com/blogs/tra/ tramadol]
[http://bxan.blogspirit.com/files/index.html buy xanax]
</div>
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)

Tällä sivulla käytetyt mallineet:

Tämä sivu kuuluu seuraavaan piilotettuun luokkaan:

Noudettu kohteesta ”https://www.linux.fi/wiki/Subversion