Ero sivun ”Subversion” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
<syntaxhighlight>
(→Aiheesta muualla: jyu:n svn-opas) |
p (<syntaxhighlight>) |
||
(7 välissä olevaa versiota 5 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
Subversion on kehittynyt [[versionhallintajärjestelmä]]. Monet projektit ovat viime aikoina siirtyneet [[CVS]]:stä Subversioniin. Lyhennetään yleensä SVN. | {{Ohjelma | ||
| 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 23: | Rivi 35: | ||
*<tt>svn help</tt> – Näyttää listan kaikista komennoista. | *<tt>svn help</tt> – Näyttää listan kaikista komennoista. | ||
*<tt>svn help komento</tt> – Näyttää tietyn komennon käyttöohjeen. | *<tt>svn help komento</tt> – 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 68: | Rivi 107: | ||
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. | 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. | ||
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 | 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. | 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. | ||
Rivi 90: | Rivi 129: | ||
Tällöin svn noutaa sinulle aluksi tyhjän työkopion, johon voit luoda hakemistoja eri projekteille, kuten kursseille. Tutustu [[Subversion#Asiakasohjelma|asiakasohjelman komentoihin]]. | 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- | 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== | ==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:Kehitystyökalut]] | [[Luokka:Kehitystyökalut]] | ||
[[Luokka:Palvelimet]] | [[Luokka:Palvelimet]] |