Versioonihaldus

Allikas: Teadmusbaas

Versioonihaldus on osa tarkvara seadistuse haldusest ja tuntud ka kui versioonide kontroll, revideeringute haldus või algkoodi kontroll. Versioonihaldusega hoitakse infot seotud dokumentatsiooni muudatuste, koodi muudatuste, programmide muudatuste aga ka suurte veebilehtede muudatuste ning muu seotud info muudatuste kohta.

Versioonihaldusega seotud terminid:
  • Baseline - arenduse pealiin - kokkulepitud dokumendi või aluskoodi versioon, kuju saab teha muudatusi (kokkulepitud tarkvaratoote omaduste kirjeldus ajatempliga);
  • Branch - arendusharu - teatud hulk faile versioonihaldussüsteemis võivad hargneda erinevateks samanimelisteks harudeks, milliseid hoitakse eraldi failidena ja milliste muutmise kiirused ja muudatused neis võivad olla erinevad;
  • Change (ka diff või delta) - muudatus - esindab versioonikontrolliga dokumendis tehtud konkreetseid muudatusi;
  • Change list - muudatuste loetelu - paljudes atomaarsete mitmikmuudatuste salvestamisega süsteemides tähendab change list, change set (muudatuste hulk), update (uuendus) või patch (paik) see ühe muudatuste salvestamisega tehtud muudatusi. Võib tähendada ka algkoodi järjestikulist vaadet konkreetse muudatuse numbri (või ID) korral
  • Checkout - välja kirjutamine - repositooriumist kohaliku koopia välja laadimine. Saab valida versioonide vahel (viimane jooksev, viimane töötav, mingi kuupäeva oma jne)
  • Clone - Kloon - kloonimine on kahe repositooriumi sisu sünkroniseerimine (ka uude tühja sisu tõstmine)
  • Commit - Muudatuste tulemuste (kettale) kirjutamine - töötava koopia repositooriumisse tagasi kirjutamine
  • Conflict - Vastuolu - ühes dokumendis mitme kasutaja poolt tehtud vasturääkivad muudatused, milliseid süsteem ei suuda vastavusse viia või ühildada. Kasutaja peab vastuolud kaotama muudatuste kombineerimisega ja prioritiseerimisega
  • Delta compression - Muudatuste arhiveerimine - kahe versiooni vaheliste muudatuste kokkupakkimine ja salvestamine
  • Dynamic stream - dünaamiline voog - voog mille failide failiversioonid on osaliselt või kõik peavoo failide peegeldused
  • Export - eksport on failide repositooriumist kättesaamine. Sarnaneb kontrollile va fakt, et loob puhta kaustapuu ilma versioonihalduse metaandmeteteta. Kasutatakse tihti sisu avaldamiseks.
  • Fetch - vaata pull.
  • Forward integration - arendussuunaline lõimimine on arenduse peasuuna muudatuste mestimine arendamise (iseärasus või meeskond) harudeks.
  • Head - päis, mida nimetatakse ka tipuks viitab kõige viimasele arenduse peasuuna või haru muudatuste salvestusele (commit). Nii arenduse pealiinil kui ka igal harul on oma päis, vaatamata sellele, et PÄIST mõnikord seondatakse arenduse pealiiniga;
  • Import - import on kohaliku kaustapuu (milline pole jooksev töökoopia)esmakordne kopeerimine repositooriumi;
  • Initialize - algatamine, algväärtustamine on uue, tühja repositooriumi loomine;
  • Interleaved deltas - vahepealsed muudatused - seda kasutavad mõned muudatuste halduse tarkvarad ja on meetod, mis võimaldab salvestada tekstipõhiste failide ajalugu efektiivsemalt võrreldes meetodiga Delta compression
  • Label - vaata tag.
  • Mainline - pealiin sarnaneb tüvele, kuid igal harul võivad olla pealiinid.
  • Merge - mestimine või lõimimine on operatsioon, mille korral failile või failide hulgale rakendatakse kaks muudatuste hulka. Allpool on toodud mõned näidisstenaariumid:
    • kasutaja, kes töötab failide kogumiga, värskendab või sünkroniseerib oma koopia koos muudatustega, mis on tehtud ja kontrollitud hoidlasse teiste kasutajate poolt;
    • kasutaja üritab kontrollida faile, mida teised on värskendanud pärast failide väljaregistreerimist ja muudatustehalduse tarkvara mestib failid automaatselt (tavaliselt peale kasutaja käest küsimist, kas ta peaks teostama automaatset mestimist ja mõningatel juhtudel teeb seda, kui mestimise saab selgelt ja mõistlikult lahendada);
    • on loodud haru, koodi on failides sõltumatult muudeteud ja uuendatud haru kaasatakse hiljem üksikusse ühtlustatud tüvesse;
    • hulk faile on muudetud haruks ja probleem mis oli olemas enne haru loomist on parandatud ühes harus ning seejärel mestitakse parandus teise haruga (seda tüüpi valikulist mestimist nimetatakse mõnikord kirsipunaseks, et eristada teda täielikust mestimisest)
  • Promote - edutamine on failide kopeerimine vähem kontrollitud asukohast enam kontrollitud asukohta, näiteks kasutaja töökeskkonnast repositooriumi või voost tema vanemaks;
  • Pull, push - tõmba, tõuka on ühest repositooriumist teise kopeerimisega seotud terminid. Tõmbamise algatab vastuvõttev repositoorium, samas kui tõukamise algatab allikas. Mine ja too (Fetch) on mõnikord kasutuses tõmba sünonüümina või mõeldes tõmbamist järgneva uuendamisega.
  • Repository - repositoorium, hoidla on asukoht, kus failide jooksev ja ajalooline info on salvestatud, tavaliselt on selleks server. Mõnikord kannab nime depoo (depot).
  • Resolve - lahendamine on kasutaja sekkumine sama dokumendi erinevate ja vastuoluliste muudatuste kehtestamisel.
  • Reverse integration - pöördlõimimine on erinevate arendusmeeskondade harude mestimine tüveks versioonihaldussüsteemis.
  • Revision - muudatus, tuntud ka versioonina on ükskõik millisel kujul muudatus. Versioonihaldussüsteemides on muudatus kindla ajahetke seisund repositooriumi failipuus.
  • Share - jagamine on failide või kaustade kättesaadavaks tegemine mitmes harus samaaegselt. Kui jagatud faili muudetakse ühes harus, siis seda muudetakse ka teistes harudes.
  • Stream - tasemerühm on harustatud failide konteiner, millisel on tuntud seosed teiste selliste konteineritega. Tasemerühmad moodustavad hirarhia; iga tasemerühm võib pärilikult saada erinevaid omadusi (nagu versioonid, nimeruumid, töövoo reeglid, tellijad (abonendid) jne) enda vanemlikult tasemerühmalt.
  • Tag - märgend või kleeps viitab olulisele ajahetke kaadrile, mis on kokkusobiv suure failide hulgaga. Kõiki neid kindla ajahetke faile võib märgistada kasutajasõbralike, tähenduslike nimede või muudatusnumbriga. Vaata baseline label ja tag.
  • Trunk - tüvi on unikaalne arendusliin, mis pole haru (mõnikord kutsutakse Baasliiniks, Pealiiniks või Meistriks)




Allikad:

  1. Versioonide haldamine - Inglisekeelne wiki
  2. Tarkvara seadistuse haldus
  3. Versioonihaldustarkvarade loetelu
  4. Versioonihalduse tarkvarade võrdlus
  5. Tarkvaraversioonide elutsükkel

Ülesanded:

  1. Versioonihaldussüsteemide võrdluse ülesanne