Versionhallinta Jan Porema OH5. - Ohjelmistoprojektin tuotosten hallintaa joka mahdollistaa ohjelmiston kehityksen seurannan ja vakaan kehityksen - Siinä.

Slides:



Advertisements
Samankaltaiset esitykset
Tietokoneen käyttöjärjestelmä
Advertisements

Valitse sanomapalkissa Ota muokkaus käyttöön,
Ohjelmistotekniikka - Software Control Management Kevät 2003 Hanna-Kaisa Lammi LTY/Tite Osa materiaalista on peräisin kurssikirjasta Haikala,
Johdatus Linuxiin Mauri Heinonen
WLAN Tekijät: Petri Koskinen Miika Kulla Veli-Pekka Koskinen.
Sisäinen integraation ratkaisut
JavaScript (c) Irja & Reino Aarinen, 2007
Ohjelmistotekniikka Tuotteenhallinta Kevät 2002 Päivi Ovaska LTKK/Tite.
Käytettävyystestaus GenMetrics projektissa Jonas Alam
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Ohjelmistokehittäminen. Luku 1 – Mitä on ohjelmistokehittäminen?
W w w. h a m k. f i Wiki koulutus Leenakaija Lehto
EXtensible Markup Language
Vapaa Ohjelmisto.  Vapaa ohjelmisto on ohjelmisto jota voi käyttää, tutkia, muuttaa ja jakaa eteenpäin vapaasti.  FLOSS (Free / Libre Open Source Software)
13. Pakkaukset.
Valitse sanomapalkissa Ota muokkaus käyttöön,
TVT ja SoMe Jonna ja Johanna.
Tietojärjestelmän suunnittelu
@ Leena Lahtinen Helia OHJELMOINTITAITO ICT02D 12 OP.
Jatkuva Integraatio ohjelmistokehityksessä
YK:n lapsen oikeuksien sopimus (LOS)
Vaarojen tunnistaminen ja arviointi
T Personal SE assignment Communication Practices Miikka Lötjönen.
Tiedon esittäminen.
Oliosuunnittelu.
13. Hyvä ohjelmointitapa (osa 1)
Ohjelmistotuotanto kevä 2010 Juho Hirvonen Mikko Nieminen Tuomas Saarela.
T / PPT / Jari Mäntylä1 IOBASE PPT Menetelmäesitys : Konfiguraatiohallintasuunnitelma.
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
Mandrake linux Seminaarityö. Linux -Linux on vapaa Unix-tyyppinen käyttöjärjestelmä. Tavallisesti Linuxista puhuttaessa tarkoitetaan "levitysversiota"
C 1. Testaus on ”sarja toimintoja” Itse asiassa, testaus on vuorovaikutusta, jota rytmittää ohjelmiston arviointi. Vaikka on hyödyllistä tunnistaa sarja.
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  AVOIMEN OPISKELIJAT: – YKSI LUOKA (SUOMI) – LUOKKA ICT02O-1.
1 Ohjelmointikielten varhaishistoria Esa-Matti Miettinen
Lyhyt johdanto CVS:ään (ict1td002 - Ohjelmointitaito)
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Roni Leinonen.  Nimi tulee Gentoo pingviinistä, joka on nopeiten uiva pingviinilaji  Ensimmäinen versio julkaistiin vuonna 2002  Käyttäjällä on täysi.
© Conformiq Software Ltd. | The Future of Software Testing Virheenarvaus.
T Henkilökohtainen SE harjoitus
Komponenttikaavio Lehtonen Iiro, Janne Liikka
Pornaisten OPS-veso mika waltarin koululla
WebOodiKURSSIPALAUTE Laura Vuorinen Opiskelijarekisteri.
PADS –ohjelmiston asetukset: Ohjeet kirjaston luontia ja ylläpitoa varten sekä varmuuskopiointi HUOM !!!! Kaikki piirilevysuunnittelu uudella PADS –versiolla.
Jenna Nyblom Katri Vanhatalo Oskari Anttalainen
SharePoint2010 ATK-seminaari Totti Nykvist.
OFFICE 365 PERUSTEET MATTI LÄHTEVÄNOJA, KUOPION KASVUN JA OPPIMISEN PALVELUALUE, KALLAVEDEN LUKIO.
KANSALLISKIRJASTO RDA-ohjeet Nimet ja nimien muutokset RDA-verkkokoulutus Maarit Huttunen, Kari Ahola Kansalliskirjasto.
1.0 TE DiplomityöEsitelmä/ / JT Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olio- orientoituneeseen ohjelmointiin Jukka.
OFFICE 365 PERUSTEET MATTI LÄHTEVÄNOJA, KUOPION KASVUN JA OPPIMISEN PALVELUALUE, KALLAVEDEN LUKIO.
Matematiikkaa 3a, Kertausjakso Lukuja © Varga–Neményi ry 2016
Ancestral Quest päivitykset
Vesihuollon kehittämissuunnitelma
Tilastouudistus 2017.
Lasten kivunarviointi kirjaamisen näkökulmasta
TERVE Piirto-ohjeita GIMP-kuvankäsittelyohjelmalle
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
Tervetuloa kirjastoon Suomessa
Tietoturva.
Tekijä: Tommi Kesti TI15S
Riku Heino ja Milo Hakalahti
OHJELMOINTITAITO ICT02D 12 Leena Lahtinen Helia
13. Pakkaukset.
Kansallinen palveluväylä
TERVE Piirto-ohjeita GIMP-kuvankäsittelyohjelmalle
Ohjelmistotekniikan menetelmät, muutoksenhallinnan työkaluista
OHJELMOINTITAITO ICT02D 12 ECTS.
OHJELMOINTITAITO ICT02D 12 ECTS.
13. Pakkaukset.
1. Olio-ohjelmointi.
OHJELMOINTITAITO ICT02D 12 ECTS.
Esityksen transkriptio:

Versionhallinta Jan Porema OH5

- Ohjelmistoprojektin tuotosten hallintaa joka mahdollistaa ohjelmiston kehityksen seurannan ja vakaan kehityksen - Siinä ohjelmistoprojektin asiakirjoista ja komponenteista muodostetaan konfiguraatio-objekteja ja edelleen konfiguraatioita Mitä versionhallinta on?

- versiointi – voidaan jakaa historialliseen, loogiseen ja yhteistoiminnalliseen versiointiin. ● Historiallinen versiointi on kehitystä, jossa uudempi versio syrjäyttää aiemman. Tällaisia syrjäyttäviä versioita kutsutaan revisioiksi. ● Looginen versiointi on niin kutsuttujen haarojen luomista, jossa kukin haara kuvastaa kehityksen vaihtoehtoista kulkua. Haarat etenevät omaa kehityskaartaan muista haaroista riippumatta ● Yhteistoiminnallinen versiointi on väliaikaisuuden hallintaa siten, että tarkoituksena on luoda hetkellisiä versioita komponenteista, jotka tullaan myöhemmin integroimaan toisten versioiden kanssa. Neljä päätoimenpidettä:

- versioiden merkitseminen – kuvaa niitä menetelmiä, joita sovelletaan tietyn konfiguraatio-objektin yksikäsitteiseksi nimeämiseksi. ● Historiallisessa versioinnissa revisiot järjestetään ja ne identifioidaan järjestyksen mukaan. Identifioiminen voidaan tehdä esimerkiksi numeerisesti siten, että suurin luku viittaa viimeisimpään revisioon. Tällöin revisioita merkittäessä käytetään yleensä kaksitasoista numerointia muodossa [V.R], missä V kuvastaa julkaisunumeroa ja R tasonumeroa. Julkaisunumeroa kutsutaan myös versionumeroksi ja tasonumeroa revisioksi. Julkaisunumeron muutos kuvastaa suurta muutosta ja revisionumeron muutos pienempää muutosta. ● Loogisen ja yhteistoiminnallisen versioinnin yhteydessä esiintyvien varianttien merkitsemiseen käytetään useimmiten määrättyjä nimiä numeroinnin sijaan, koska variantit eivät välttämättä esiinny toistensa suhteen järjestyksessä.

-versioiden välisten erojen tunnistaminen – päätavoite on minimoida versioiden tallentamiseen käytettävä levytila. Toisin kuin versionhallinnan muut toimenpiteet, versioiden välisten erojen tunnistaminen ei ole välttämätöntä ● Ohjelmistoon tehtyjen muutosten selvittämiseksi täytyy voida selvittää versioiden väliset erot. Koska toisiaan seuraavat versiot, eritoten revisiot, saattavat olla hyvin toistensa kaltaisia, eroavaisuuksien tarkan määrittelyn avulla voidaan keskittyä muutokseen ja säästää resursseja. ● Yleinen tapa erojen tunnistamiseen on suorittaa merkkivertailu tekstitiedostojen välillä. Kyseisen tavan tavoitteena on löytää pienin joukko muutoksia, jotka täytyy suorittaa komponentin version A muuttamiseksi versioksi B. Toimii vain tekstitiedostoja käsitellessä, sillä esimerkiksi binääritiedostoissa pieni paikallinen muutos saattaa tiedoston rakenteesta riippuen vaikuttaa koko tiedoston sisältöön.

-versioiden tallentaminen. – tarkoituksena on mahdollistaa versioiden pysyvä tallennus, josta mielivaltaisella ajanhetkellä voidaan valita haluttu versio käsiteltäväksi ● Ohjelmistojen kehityksen ja ohjelmiston aikaisempien versioiden uudelleenrakentamisen mahdollistamiseksi on vanhat ja uudet versiot voitava tallentaa pysyvästi ● Usein varastoissa käytetään tallentamiseen puurakennetta, jossa puun juuri kuvastaa konfiguraatio-objektin ensimmäistä versiota ja juuren jälkeläiset kuvastavat konfiguraatio-objektin myöhempiä versioita. Historiallinen versionti on puun syvyyden kasvattamista ja looginen versiointi puun haarautumista ● Tilansäästön vuoksi varastoihin tallennetaan eri versioista vain niiden väliset erot. Tämä muutostieto on minimaalinen muutosjoukko, jonka perusteella komponentin tietty versio A voidaan muuntaa versioksi B.

Edut - Inhimillisten virheiden mahdollisuus vähenevät ja projektienhallinta helpottuu - Useat ohjelmoijat eri puolilla maailmaa voivat koodata samaa projektia, pysyen koko ajan mukana siinä mitä muut tekevät ja saaden koko ajan uusimmat muutokset

Versionhallintajärjestelmät - Ensimmäiset kehitettiin 1970 luvulla - Jaetaan hajautettuihin ja keskitettyihin - Nykyään tarjolla monia kaupallisia ja vapaita versionhallintajärjestelmiä, muun muassa CVS, Subversion, BitKeeper sekä Git

CVS - CVS on RCS:n pohjalle rakennettu vapaa monen käyttäjän versionhallintajärjestelmä. – Varsinaisen CVS:n ensimmäisen version suunnitteli ja ohjelmoi C-kielellä Brian Berliner vuonna – Yksinkertaisimmillaan työskentelyyn kuuluu kolme vaihetta. Ensimmäisessä vaiheessa projektista ladataan niin sanottu työkopio lokaalille koneelle. Tätä tapahtumaa kutsutaan nimellä check out. Toisessa vaiheessa projektin työkopiota voidaan muokata vapaasti CVS:stä riippumatta ja kolmannessa vaiheessa työkopioon tehdyt muutokset kirjataan CVS:ään. Muutosten kirjaamista CVS:ään kutsutaan nimellä commit. Muutosten kirjaamisen jälkeen muutokset ovat näkyvissä kaikille projektin kehittäjille, jotka kukin kehittäjä voi edelleen päivittää omiin työkopioihinsa.

Subversion - Subversion on uusi vapaa versionhallintajärjestelmä – Sen tarkoitus on ennen kaikkea korjata CVS:ssä havaittuja puutteita ja lisätä CVS:stä puuttuvia, mutta yleisesti tarpeellisiksi koettuja ominaisuuksia. – Subversion on rakennettu CVS:n pohjalta, minkä takia Subversionin toiminta ja käyttö ovat monella tapaa samantyylisiä CVS:ään verrattuna. – Parannuksina on tullut muun muassa uudelleennimeämisten ja metadatan versiointi, BerkeleyDB-tietokannan käyttömahdollisuus sekä tehostettu binääritiedostojen käsittely

BitKeeper - BitKeeperin kehityksen aloitti Larry McVoy ja sen omistaa BitMover-yhtiö. – CVS:ään verrattuna BitKeeper tarjoaa ominaisuuksia, jotka helpottavat versionhallintaa suurissa, maantieteellisesti hajautetuissa projekteissa. – BitKeeper voi käyttää eri protokollia, kuten SSH:ta, RSH:ta, BKD:ta, ja SMTP:tä päivitysten tekemiseen. – BitKeeper toimii hajautetusti siinä mielessä, että jokaisella kehittäjällä on omalla koneellaan täydellinen kopio projektin varastosta. Tätä kopiota kutsutaan lapseksi ja päävarastoa vanhemmaksi. Kun kopio on kerran tehty, kehittäjän koneen ja päävaraston välillä siirretään vain tietoa tehdyistä muutoksista. Lapsivarastot voivat vaihtaa muutostietoa myös keskenään

Git Linus Torvaldsin Linuxin kerneliä varten itsekehittämä vapaa versionhallintaohjelma – Hajautettu systeemi samalla tavoin kuin BitKeepeerissä – Etuna moniin muihin verrattuna muun muassa nopeus