Sistem za upravljanje z izvedbami
Iz E-študij, proste zakladnice študentskega znanja
- rcs
- cvs
- subversion (svn)
Vsebina |
Osnovni pojmi
Program je sestavljen iz večih datotek katere imajo lastne verzije.
- Izvedba (revision)
- verzija posamezne datoteke
- Izdaja (release)
- verzija programskega sistema
- Skladišče (repository)
- prostor kjer hranimo vse izvedbe (in s tem tudi vse izdaje)
Glavne funkcije
- vzdrževanje repozitorija
- v skladišču mora biti red, da vemo kdo je spreminjal kaj, kaj je zadnja verzija itd...
- vstavljanje izvedb/izdaj iz repozitorija
- jemanje izvedb/izdaj iz repozitorija
- hramba zgodovine sprememb
- nadzor nad dostopom
- sistem mora omogočati selektiven nadzor glede nad dostopom posameznih delov repozitorija glede na uporabnika
- nadzor in upravljanje z izdajami
- minimizacija porabe diska
Primer razvoja
Drevo izvedb:
stranska veja ,--> 2.2.1.2 -> (BRANCH)
(RELEASE/TAG) /
-> 1.1 -> 1.2 -> 1.3 -> 1.4 --izdaja--> 2.1 -> 2.2 -> glavna veja (TRUNK)
|
| branch
| |`--- 1.3.1.1 -> 1.3.1.2 -> 1.3.1.3 -> (BRANCH)
stranske veje| | \
(branch-i) | branch iz 1.3 (ponovno) `--> 1.3.1.2.1.1 -> 1.3.1.2.1.2 -> (BRANCH)
| |
| `--- 1.3.2.1 -> 1.3.2.2 -> (BRANCH)
Sistem RCS samodejno povečuje številko izvedbe. Ko se odločimo da izdamo novo izdajo, sistem poveča številko izdaje. Če od določene verzije v zgodovini želimo uvajati spremembe naredimo branch.
Npr:
- 1.1
- osnovni hello world
- 1.2
- dodano čakanje na pritisk tipke return
- 1.3
- dodan klicaj na konec izpisa
Stranske veje
Razlogi za ustvarjanje novih stranskih vej
- Popravek stare izvedbe/izdaje.
- v primeru ko popravljamo staro kodo in ne moremo stranki vsiliti najnovejše verzije, naredimo vejo pri izvedbi ki v stari izdaji popravi bug
--[]--- ... --[]
\
`-[]
- Posebna funkcionalnost na željo kupca.
- ko želi kupec posebno funkcionalnost vsaki zadnji izvedbi vedno dodajamo isto spremembo v nov branch
---[]---[]
\ \
`-[] `-[]
- Vzporedni (prototipni) razvoj
- vsa koda se ohrani v repozitoriju
- glavna veja se nadaljuje kot kopija izbranega prototipa
,--[]--[]--[]
/
|,--[]--[]--[]-,
/ \
---[] `-[]----
\
|`--[]--[]--[]
\
`--[]--[]--[]
- Konfliktni razvoj
- nastane, ko dva programerja želita spreminjati isto datoteko
- da drugi programer ne čaka da prvi programer odklene datoteko lahko naredi svojo vejo