wiki:ohj2svn
Last modified 22 months ago Last modified on 2015-12-26 19:09:38

SVN:n käyttö Ohjelmointi 2-kurssilla

Koska oikeassa ohjelmistotyössä koodit ovat versionhallinnassa, on ne järkevää pitää samalla tavalla myös Ohjelmointi-kursseilla.

Esimerkiksi Ohjelmointi 2-kurssilla harjoitustyössä on useita tekijöitä. Vähintään tekijä ja ohjaaja. Versionhallinnan käytön ansiosta jokaisella on käytössään viimeisin kehitysversio. Ohjelmointi 2-kurssin tapauksessa kehitystä "jäädytetään" useisiin vaiheisiin. Svn:ssä vaiheita kutsutaan nimellä Tag tai Branch vähän käyttötarkoituksesta riippuen.

"Vaikeaksi" versionhallinnan käytön tekee ainoastaan terminologia (repository, checkout, commit, update ...)...

Lisätietoa SVN:stä voit saada mm. :

Tapoja käyttää SVN:ää

Aluksi ehdottamasti suositeltavin tapa on pääteohjaus 1:ssä harjoiteltu svnht.

Kaikkia alla mainittuja tapoja voit kuitenkin käyttää ristiin sekä kotona että mikroluokissa. Kannattaa kokeilla eri tapoja. Kuitenkin jos esim. checkouttaat (haet projektin versionhallinnasta tyhjään kansioon) käyttäen "svnht PROJNAME" -komentoa, myös committaaminen (muutosten vieminen versionhallintaan) kannattaa tehdä automatisoidulla komennolla "svnht PROJNAME". Samoin jos checkouttaat TortoiseSVN:llä niin tee myös committaaminen TortoiseSVN:llä. Näin vältät turhat ristiriidat versionhallinnan hakemistohierarkioissa.

Versionhallinan käyttö lyhyesti

  • source:/esimerkit/k2015/luennot/luento02/svn.png
  • yhden kerran: luodaan oma repository mkdir
  • jos mennään koneelle, jossa sisältöä ei vielä ole, tehdään checkout
  • jos mennään koneelle jossa sisltä jo on, tehdään työn aluksi aina update
  • kun työ lopetetaan, tehdään commit
  • komentojono svnht tekee automaattisesti tuon kaiken, muulloin joutuu itse miettimään tilanteen mukaan mitä on tekemässä.

Varoitus

Kaikki kurssilaiset työskentelevät oikeasti samassa repositoryssä (säilytyspaikka): ohj2ht/k2015.

Muodollisesti jokaisella on oma hakemistonsa, mutta silti voidaan pilata ja muuttaa toistenkin töitä. Toivotaan ettei tätä tapahdu!

Olkaa siis tarkkana että käytätte aina omaa hakemistoanne.

Harjoitustöiden hakemistohierarkia SVN:ssä

  • Hakemistorakenne koneen levyllä pitää olla tyyliin:
    esim: 
    c:\mytemp\ohj2\vesal
                     files.txt
                     src 
                       kerho
                         Jasen.java
                         Jasenet.java
                         ...
                     kuvat
                       paaikkuna.png
                       ...
    
  • Jokainen tekee oman haaransa ja sen alle jokaista vaihetta varten oman haaran.
  • Alla olevassa mallissa tehty "projektille" vesal (korvaa vesal omalla tunnuksellasi)
      https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2015
        vesal
          trunk
            src 
              kerho
                Jasen.java
                Jasenet.java
                ...
            kuvat
              paaikkuna.png
              ...
            files.txt
          tags
            vaihe1
            vaihe2
            vaihe3
            vaihe4
            vaihe5
            vaihe6
            vaihe7
            jsp
    
    
    trunk on se missä tehdään koko ajan hommia. Sen alla on
    tarvittavat paketit (esimerkissä vain kerho, mutta niitä voi
    olla enempikin ja niitä voi olla sisäkkäin).
    
    
    Kun vaihe tulee valmiiksi, tehdään siitä vaihetta vastaava tag
    eli trunk kopioidaan sen vaiheen haaraan.  Vaihe tarkistetaan aina
    trunk-haarasta HT:tä näytettäessä ja kun vaihe on hyväksytty,
    tehdään se tag.
    
    

Ohjeita jos tarvitaan kotoa W: -levyä tai SSH:n päällä olevia svn-yhteyksiä