Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Kuinka opetella svn:n perusteet?

Jaska [11.10.2018 13:59:46]

#

Ohjelmoinnin peruskurssilla pitäisi käyttää svn:ää versionhallintana. En oikein osaa käyttää sitä. Saisiko selkeät ohjeet siitä, että jos teen kotikoneellani vaikka ohjelmaversio1.cs:n ja ohjelmaversio2.cs:n, niin mitä komentoja komentorivillä pitää tehdä, että versiot pysyvät hyvässä järjestyksessä? Ja miten siirrän asiat nettiin, sivulle https://trac.cc.jyu.fi/projects/ohj1-pelit/browser/2018s/ oman hakemiston alle? Meneekö versionhallinnalla vai kannattaako käyttää scp:tä?

Grez [11.10.2018 14:10:08]

#

Versionhallintajärjestelmää (esim. svn) käyttäen ei tehdä eri versioita eri nimillä, vaan tiedostonimi pysyy samana ja eri versiot löytää sitten versionhallinsta.

Versionhallintajärjestelmän ideahan on juuri se, että käyttäjän ei tarvitse hallinnoida eri versioita käsin.


Itse käytöstä, niin

Tyypillisesti joko luot uuden tai käytät olemassa olevaa repositoryä, checkoutaat sen siihen hakemistoon missä koodaat ja aina kun teet uusia versiota niin commitaat muutokset repositoryyn. Commitin yhteydessä annetaan tyypillisesti myös kommentti mitä on tehty (Esim: korjattu bugi xyz issue 58). Kommentit on ihan vaan tekstiä, mutta usein isommissa projekteissa on joku käytäntö. Esimerkiksi jos on muutostarpeidenseurataa (issue tracker) niin voi olla tapana kirjata mihin issueen se liittyy.

Varsinaiset komennot löytyvät netistä ja subversionin käyttöohjeista ja mahdollisesti jopa kurssimateriaalistanne.

Jaska [11.10.2018 14:34:17]

#

Yritin ohjeita sivulta https://tim.jyu.fi/view/kurssit/tie/ohj2/tyokalut/svn/svnjakomentorivi . Tein kansion jjseppal osoitteeseen https://trac.cc.jyu.fi/projects/ohj1-pelit/browser/2018s/jjseppal . Koetin ohjeiden kohtaa 3:
1. kirjoita ja tallenna tiedosto
2. svn add TIEDOSTONNIMI (hakemistoineen, /-viiva hakemistomerkkinä)
3. svn commit -m "kuvaava viesti miksi muutokset on tehty"

jaakko@jaakko-Aspire-E1-572:~/Desktop/Programming/Harrastustenosallistujat$ pwd
/home/jaakko/Desktop/Programming/Harrastustenosallistujat
jaakko@jaakko-Aspire-E1-572:~/Desktop/Programming/Harrastustenosallistujat$ ls
yhteenveto.cs  yhteenveto.exe
jaakko@jaakko-Aspire-E1-572:~/Desktop/Programming/Harrastustenosallistujat$ svn add /home/jaakko/Desktop/Programming/Harrastustenosallistujat/yhteenveto.cs
svn: E150000: Can't find parent directory's node while trying to add '/home/jaakko/Desktop/Programming/Harrastustenosallistujat/yhteenveto.cs'
svn: E155010: The node '/home/jaakko/Desktop/Programming/Harrastustenosallistujat' was not found.
jaakko@jaakko-Aspire-E1-572:~/Desktop/Programming/Harrastustenosallistujat$

Kakkoskohdassakin oli ongelmia:

svn co https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2019/PROJNAME/trunk .
svn: E170000: URL 'https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2019/PROJNAME/trunk' doesn't exist
jaakko@jaakko-Aspire-E1-572:~/Desktop/Programming/Harrastustenosallistujat$ svn co https://svn.cc.jyu.fi/srv/svn/ohj2ht/s2018/jjseppal/trunk .
svn: E170000: URL 'https://svn.cc.jyu.fi/srv/svn/ohj2ht/s2018/jjseppal/trunk' doesn't exist
jaakko@jaakko-Aspire-E1-572:~/Desktop/Programming/Harrastustenosallistujat$ svn co https://trac.cc.jyu.fi/projects/ohj1-pelit/browser/2018s/jjseppal .
svn: E170013: Unable to connect to a repository at URL 'https://trac.cc.jyu.fi/projects/ohj1-pelit/browser/2018s/jjseppal'
svn: E130005: XML Parsing failed: Unexpected root element 'html'
jaakko@jaakko-Aspire-E1-572:~/Desktop/Programming/Harrastustenosallistujat$

Grez [11.10.2018 14:52:09]

#

Tietenkään 3-kohta ei voi onnistua ennen kuin 1- ja 2-kohdat on tehty onnistuneesti. Tuossahan on selkeitä virheilmoituksia annettu, kuten että hakemistoa trunk ei löydy. Oletko varmasti tehnyt sen onnistuneesti kohdan 1 mukaan?

Metabolix [11.10.2018 17:27:19]

#

Ohjeiden noudattamisessa olisi hyödyllistä esim. kirjoittaa osoitteet oikein. Nythän sinulla on tuossa ihan vääriä osoitteita kaikissa yrityksissäsi. Oikea osoite projektiisi on https://svn.cc.jyu.fi/srv/svn/ohj1-pelit/2018s/jjseppal/trunk.

# 2. Työn hakeminen tyhjään kansioon
svn co https://svn.cc.jyu.fi/srv/svn/ohj1-pelit/2018s/jjseppal/trunk omaprojekti

# 3. Tiedoston lisääminen versionhallintaan

# - 1. kirjoita ja tallenna tiedosto
cd omaprojekti
echo "testi plaa plaa" > koodi.cs

# - 2. svn add TIEDOSTONNIMI
# ei todellakaan tarvitse aloittaa polkua /:sta asti!
svn add koodi.cs

# - 3.
svn commit -m "Kuvaava viesti, miksi muutokset on tehty."

Käyttämäsi ohjeet ovat hieman harhaanjohtavat sikäli, että tuossa ei tehdä uutta repositorya vaan lisätään omat koodit omaan kansioon jossain yhteisessä repositoryssa – yleinen tapa harjoituskäytössä mutta ei kovinkaan suositeltava todellisissa tilanteissa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta