Versiohallinta ja Subversion. 26.9.2007 Maunu Tuomainen mttuomai@jyu.fi



Samankaltaiset tiedostot
Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

Versionhallinta MIKSI?

Versionhallinta MIKSI?

CVS. Kätevä väline usein päivitettävien tiedostojen, kuten lähdekoodin, hallitsemiseen

Versionhallinta. Matti Paksula ja Esko Luontola Syksy Tietojenkäsittelytieteen laitos Kuje Research Group

Hajautettu versionhallinta Gitillä

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011

Versionhallintaa. Versionhallinnan käyttöönotto SAS ympäristössä

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Googlen pilvipalvelut tutuksi / Google Drive

Googlen pilvipalvelut tutuksi / Google Drive

Enigmail-opas. Asennus. Avainten hallinta. Avainparin luominen

Pikaopas. Valintanauhan näyttäminen tai piilottaminen Avaa valintanauha napsauttamalla välilehteä, tai kiinnitä se pysyvästi näkyviin.

Laskuttajailmoituksen muutossanoman luonti ulkoisesti. Visma Fivaldi

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

EK:n palkkatiedustelun SFTP-tiedonsiirron yhteydessä annettavat yhteystiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

YH1b: Office365 II, verkko-opiskelu

PIKAOHJE USEIDEN VASTAANOTTAJIEN LISÄÄMISEEN YHTIÖN JAKELULISTOILLE

EASY Tiedostopalvelin - mobiilin käyttöopas

Työkalut ohjelmistokehityksen tukena

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

Projektityö

Julkaiseminen verkossa

YH2: Office365 II, verkko-opiskelu

SCI- A0000: Tutustuminen Linuxiin, syksy 2015

Eclipse, SVN ja HelloWorld

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

Digikoulu Pilviteknologiat - Tunti 1001: Tiedon varastointi Amazon Simple Storage Service (Amazon S3) palveluun

Linux - käyttöoikeudet

Muistitikun liittäminen tietokoneeseen

Mainosankkuri.fi-palvelun käyttöohjeita

Tärkeimmät toiminnot. Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta. Tärkeimmät toiminnot jatkuu...

Päivitysohje Opus Dental

Fiscal Media Server STD ohje

2017/11/21 17:28 1/2 Tilitapahtumat. Tilitapahtumat... 1 Käyttö:... 1 Asiakirjan kentät:... 1

ASENNUSOHJEET INTERNET-ASENNUS. Navita Yritysmalli. YHTEYSTIEDOT Visma Solutions Oy Mannerheiminkatu LAPPEENRANTA Puh.

Ohjelmisto on tietokanta pohjainen tiedostojärjestelmä, joka sisältää virtuaalisen hakemisto rakenteen.

MixW ja Dx-vihjeet (ohje) oh3htu

Periaate. Login. Taitto ja artikkelit. Artikkeli ja elementit

Windows Maatesti. Peruskäyttö TriStar Enterprise Oy

ASENNUS- JA KÄYTTÖOHJE

DOORS Word DOORS SoftQA Pekka Mäkinen

SAKU-materiaalit

Pikaohje aikuisrippikoulu.fi palvelun käyttöön

Larppa-laskutusohjelma v1.1 Ohje

Valintanauhan komennot Valintanauhan kussakin välilehdessä on ryhmiä ja kussakin ryhmässä on toisiinsa liittyviä komentoja.

KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA

DTU Lisäohje TotalMedia -ohjelmiston käyttöön. 1 Pääsivu Kun olet avannut TotalMedia -ohjelmiston, näet pääsivun kuten alla kuvassa:

SQLite selvitysraportti. Juha Veijonen, Ari Laukkanen, Matti Eronen. Maaliskuu 2010

TUTA Q2 Tallentava valvontakamera Asennusohje

Sisäänkirjaus Uloskirjaus. Yritystieto

YH1b: Office365 II, verkko-opiskelu

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

VIS Online 2.0 version uudistukset

Convergence of messaging

Sähköpostilla tulevien hinnastojen tallentaminen

GDAL ja WFS: suora muunnos ogr2ogr-ohjelmalla

WORD TYYLILLÄ. Tietohallintokeskus Miksi tyylit? Tyylien lisääminen: joko jälkikäteen tai etukäteen

Febdok 6.0 paikallisversion asennus OHJEISTUS

Ohje kehitysympäristöstä. Dokumentti: Ohje kehitysympäristöstä.doc Päiväys: Projekti : AgileElephant

VHOPE-sovelluksen ja VHOPE-kirjastotiedostojen asentaminen

Mendeley-viitteidenhallinta

Fiscal Media Server STD -ohje

U U D E T O M I N A I S U U D E T V E R S I O S T A V E R S I O O N

Energiatodistusrekisteri ja laatijan rooli

Sähköposti ja uutisryhmät

Pikakäyttöohje Päivitys I OHJELMAN KÄYNNISTÄMINEN SISÄLLYS

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

CISS Base Excel raporttien määritys Käyttäjän käsikirja. CISS Base Käyttäjän Käsikirja Econocap Engineering Oy 1

Ensimmäisessä vaiheessa ladataan KGU tietokanta Hallitse tietokantoja toiminnon avulla.

Ohjelmistoprojektien johtaminen Projektissa käytettävät työkalut

Javan asennus ja ohjeita ongelmatilanteisiin

Kemikaalitieto yhdestä palvelusta

Mathcad Flexnet lisenssipalvelimen asennus

erasmartcard-kortinlukijaohjelmiston asennusohje (mpollux jää toiseksi kortinlukijaohjelmistoksi)

DOORS 7.1 Test Tracking Toolkit

ipad:n päivitys versioon ios 7 Porin kaupungin luottamushenkilöt

ASENNUS JA KÄYTTÖOHJE

Vesa Ollikainen, päivitys Juha Haataja

Visma Liikkuvan työn ratkaisut VLS lisensointi. Ylläpitäjän opas

MICROSOFT PUBLISHER 2010

Microstation 3D laitesuunnittelu 2014

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Portfolio OneNotessa

Automaattitilausten hallinta. Automaattitilauksien uudistettu käsittely

LINUX-HARJOITUS, MYSQL

Ksenos Prime Käyttäjän opas

Office 365 palvelujen käyttöohje Sisällys

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

INTERBASE 5.0 PÄIVITYS VERSIOON 5.6

Lähettäjä ja vastaanottaja

1. päivä ip Windows 2003 Server ja vista (toteutus)

Opi kuvin: By Choice v.1.4 asennus Asennus järjestelmänvalvojan oikeuksin

Kerro kuvin: InPrint 2.8 asennus Asennus järjestelmänvalvojan oikeuksin

Tiedonsiirto helposti navetta-automaation ja tuotosseurannan välillä

Järjestelmän asetukset. Asetustiedostojen muokkaaminen. Pääkäyttäjä eli root. Järjestelmänhallinnan työkalut

PRINTER DRIVER PÄÄKÄYTTÄJÄN OPAS

Hakulomakkeen täyttöohjeet

HARJOITUS 3: Asennetaan Windows Vista koneeseen Windows 7 Professional upgrade ohjelmisto (Windows 7 käyttöjärjestelmän asennus)

Transkriptio:

Versiohallinta ja Subversion 26.9.2007 Maunu Tuomainen mttuomai@jyu.fi

Versiohallinta yleisesti Ongelma: lähdekoodin ja muun materiaalin säilyttäminen siten, että: se on kaikkien saatavilla tuorein versio on aina käytettävissä muutoshistoria on tallella, eli vanhempiinkin versioihin päästään käsiksi

Ad hoc -versiohallinta Hahmotelma ad hoc -versiohallinnasta: tallennetaan tiedostot jaetulle levylle ja nimetään tiedostoston versiot juoksevalla numeroinnilla entä jos kaksi henkilöä muokkaa samaa tiedostoa samanaikaisesti?

Samanaikaisten muutosten hallinta Voidaan joko kieltää tiedosto lukitaan editoitaessa ja vain yksi käyttäjä muokkaa tiedostoa kerrallaan...tai sallia samanaikaiset muutokset yhdistetään ja vain tiedoston samaan osaan (tarkemmin: tekstitiedoston riviin) kohdistuvat muutokset aiheuttavat ongelmia

Miksi versiohallintaa? Tiedon tallessa pysyminen Versiohistorian säilyminen uskaltaa tehdä isojakin muutoksia, kun aina voi palata vanhaan toimivaan Yhtäaikaisten muutosten hallinta

Subversion Subversion on eräs suosituimpia versiohallintajärjestelmiä Paljon käytetyn CVS:n paranneltu versio Kotisivu: http://subversion.tigris.org/ Kaikki oleellinen ohjeistus löytyy kirjasta Version Control with Subversion: http://svnbook.red-bean.com/en/1.4/

Peruskäyttö Tallennetaan varastoon (repository) ensimmäinen versio Haetaan varastosta paikallinen kopio Muokataan Tallennetaan muutokset varastoon (tarvittaessa konfliktit ratkoen)

Varaston luominen Subversion-varaston luominen täytyy tehdä luonnollisesti vain yhden kerran svnadmin create /polku/luotavaan/varastoon Voi olla, että atk-tuki luo teidän projektianne varten varaston palvelinkoneelle valmiiksi, mutta omaa kikkailua varten voi tehdä leluvaraston työasemalle

Varaston osoite Varaston osoite koostuu protokolla-osasta sekä varsinaisesta osoitteesta file://-alkuinen osoite tarkoittaa samalla koneella sijaitsevaa varastoa Windows-koneella osoitteet muotoa file://x:/kansion/nimi Unix-koneella osoitteet muotoa file:///hakemiston/nimi Varastoon voidaan olla yhteydessä verkon yli, esimerkiksi svn+ssh:// (jota käytätte atk-tuen tarjoaman varaston kanssa)

Ensimmäisen version tallentaminen Tallennetaan ensimmäinen versio (hakemisto sovellus ) Subversion-varastoon: svn import -m Ensimmäinen versio sovellus file:///varaston/polku/projektin_nimi Jokaiseen tallennukseen liittyy viesti ja hyvien, kuvaavien viestien liittäminen on tärkeä osa versiohallinnan järkevää käyttöä! Älkää missään nimessä jättäkö viestejä tyhjäksi!

Paikallisen kopion hakeminen Haetaan (checkout) varastoon tallennettu ensimmäinen versio paikalliseksi työstettäväksi kopioksi: svn checkout file:///varaston/polku/projektin_nimi/trunk checkout voidaan lyhentää co

Varaston rakenne Subversion ei pakota mitään tiettyä varaston rakennetta, mutta yleinen käytäntö on tehdä yhden varaston sisäinen jako seuraavasti: projektin_nimi/ trunk/ tags/ branches/

Trunk, tags & branches Trunk on kehityksen päälinja tai kehityshaara. Tagit ovat nimettyjä kopioita päälinjan tilasta jonain tiettynä ajanhetkenä. Esimerkiksi julkaisuversiota varten voidaan varaston tila jäädyttää tiettynä hetkenä ja jatkaa silti kehitystä trunkissa. Branchit ovat kehityshaaroja. Kehitys voidaan haaroittaa vaikkapa uutta isoa ominaisuutta varten.

Tagin luominen Tagi trunkin eli päähaaran tai jonkin branchin tilasta luodaan komennolla svn copy file:///varaston/polku/trunk file:///varaston/polku/tags/release-070926 -m Tagi 070926-julkaisua varten.

Varastoon tulleiden muutosten haku Paikallista työkopiota tulee päivittää aika-ajoin varastoon tulleiden muutosten osalta: svn update Päivityksessä varastoon muuttuneet tiedot yhdistyvät paikallisen kopion muutoksiin Voi syntyä konfliktitilanteita

Konfliktit Konflikti syntyy, kun kaksi käyttäjää muokkaa samaa riviä yhtäaikaisesti Versiohallinta osoittaa ongelmakohdat ja ne pitää ratkaista käsin ennen kuin muutokset voi tallentaa varastoon Tämä on tiedosto jossa on <<<<<<<.mine neljä ======= kolme >>>>>>>.r3 riviä.

Konfliktien ratkaiseminen Konfliktissa olevasta tiedostosta syntyy kolme uutta tiedostoa: tiedoston_nimi.mine, tiedoston_nimi.rvanha ja tiedoston_nimi.ruusi..mine sisältää työkopiossa muokatun version.rvanha sisältää version ennen konfliktoivia muokkauksia.ruusi sisältää juuri varastosta saadun muokatun version

Konfliktin ratkaiseminen Konflikti ratkaistaan muuttamalla varsinainen tiedosto kuntoon (ei sisällä enää konfliktimerkintöjä ja sisältö on halutunlainen) ja komentamalla svn resolved tiedoston_nimi Tämän jälkeen pitää suorittaa vielä commit Joissain tapauksissa konfliktin oikea ratkaisu on vanhan tai uuden version kopiointi työkopion päälle, mutta usein täytyy tehdä käsityötä ja sovittaa konfliktoivat muutokset yhteen

Muutoksen tallentaminen varastoon Muuttunut tiedosto tallennetaan varastoon komennolla commit: svn commit tiedosto -m Lisätty pari juttua. commit lyhentyy ci Ennen commitia tulee aina tehdä päivitys (update)

Mitä tulikaan tehtyä? status- ja diff-komentojen avulla pystytään jäljittämään työkopioon tehtyjä muutoksia: svn status svn diff tiedosto.txt log-komento kertoo varastoon tulleista versioista tiedot

Tiedoston lisääminen varastoon Kokonaan uudet tiedostot lisätään komennolla add: svn add uusi_tiedosto_tai_hakemisto Add on vasta muutos paikalliseen kopioon, joten sen jälkeen pitää suorittaa vielä commit, jotta uusi tiedosto siirtyy myös varastoon Vastaavasti löytyy komennot delete, copy ja move. Toiminta lienee ilmeinen ja tarkat ohjeet löytyvät Svnbookista

Versionumerot Joka kerta, kun varaston tila muuttuu (esimerkiksi commitin seurauksena), sen versionumero kasvaa Kaikki varaston tilan muutokset tallentuvat ja mihin tahansa vanhaan versioon voidaan palata checkout-komento voidaan parametrisoida esimerkiksi tietyn ajankohdan mukaan, jolloin päästään historiatietoihin käsiksi

Versiohallinnan integrointi kehitysympäristöön Versiohallintaa ei tarvitse välttämättä käyttää komentoriviltä vaan useimmissa (käytännössä kaikissa) kehitysympäristöissä on mahdollisuus käyttää versiohallintaa graafisella käyttöliittymällä Esimerkiksi Eclipseen Subversion-liittymän saa Subclipse-pluginilla: http://subclipse.tigris.org/

Apuja Komento help auttaa ongelmatilanteissa: svn help svn help komento Vilkuilkaa Svnbookia. Se paljastaa kaiken

Harjoituksia Luo oma varasto Luo oma projektihakemisto suositellun varastorakenteen mukaisesti (trunk, tags & branches) ja sinne vaikkapa tekstitiedosto Vie ensimmäinen versio varastoon Tee kaksi checkoutia eri hakemistoihin (simuloidaan useamman kehittäjän tapausta) Kokeile tehdä muutos tiedostoon, tee päivitys ja commit

Harjoitukset jatkuvat Tee päivitys molempiin työkopioihin ja muuta molemmista tekstitiedoston samaa riviä Tarkasta status- ja diff-komentojen avulla tehdyt muutokset Tee molemmista commit Ratkaise konfliktitilanne ja tee uudestaan päivitys sekä commit Totea log-komennolla, että varaston tila on muuttunut

Subversionin käyttö SSH-yhteyden yli Projektit käyttävät Subversionia toisella koneella sijaitsevaa varastoa verkon yli Turvalliseen tiedonsiirtoon käytetään SSHprotokollaa file://-alun sijaan varaston osoite on muotoa svn+ssh://palvelimen.osoite/hakemisto

SSH-avaimet Jotta SSH-yhteyden kanssa ei tarvitse joka välissä syöttää salasanaa, kannatta luoda ns. SSH-avaimet, joilla tunnistautuminen hoidetaan automaattisesti Ohjeet avainten luontiin Windows- ja Unixympäristöihin: http://www.mit.jyu.fi/atk-tuki/ssh.html http://www.cc.jyu.fi/~mmhilleb/avaimet.html