VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés...

43
Konfigurációmenedzsment VIMIMA11 Rendszertervezés és integráció © BME-MIT 2015 Budapest University of Technology and Economics Department of Measurement and Information Systems VIMIMA11 Rendszertervezés és integráció Scherer Balázs

Transcript of VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés...

Page 1: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Konfigurációmenedzsment

VIMIMA11 Rendszertervezés és –integráció

© BME-MIT 2015Budapest University of Technology and Economics

Department of Measurement and Information Systems

VIMIMA11 Rendszertervezés és –integráció

Scherer Balázs

Page 2: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Az alapprobléma

idő

idő

Konfigurációs komponensek

Komponens 1

Komponens 2

Komponens 3

v1.0 v1.1 v1.2 V2.0

v1.0 v1.3 V2.1

v1.0 v1.1 v1.3 V1.6 V2.0

© BME-MIT 2015 2.

idő

idő

Konfigurációs komponensek

Konfigurációs egység

Komponens 3

Konfigurációs egység 1 Konfigurációs egység 2

v1.0

v1.0

v1.0 v1.2V1.6

V2.1

Page 3: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Konfigurációmenedzsment CMMI folyamat

� SG 1: A termékhez és elkészítéséhez szüksége alapkonfiguráció létrehozása

(Establish Baselines)

o SP 1.1: A konfigurációs komponensek azonosítása (Identify Configuration Items)

o SP 1.2: A konfiguráció menedzsment rendszer létrehozása (Establish a

Configuration Management System)

o SP 1.3 Az alapkonfigurációk létrehozása, kibocsátása. Release kibocsájtása

(Create or Release Baselines)

SG 2: Változások követése és kezelése (Track and Control Changes)

© BME-MIT 2015 3.

� SG 2: Változások követése és kezelése (Track and Control Changes)

o SP 2.1: Változtatási kérések követése (Track Change Requests)

o SP 2.2: A konfigurációs komponensek változásainak felügyelése (Control

Configuration Items)

� SG 3: Integritás létrehozása és megtartása (Establish Integrity)

o SP 3.1: A konfigurációmenedzsmenthez tartozó loggok készítése (Establish

Configuration Management Records)

o SP 3.2: Konfigurációs auditok megrendezése (Perform Configuration Audits)

Page 4: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Konfigurációs komponensek azonosítása

� A végtermék, és azzal együtt kiszállításra kerülő

komponensek

� Termékek, amelyek fontosak a belső

munkafolyamatokhoz és változhatnak az időben.

� Eszközök, amelyek az egyes munkafolyamatokhoz

© BME-MIT 2015 4.

� Eszközök, amelyek az egyes munkafolyamatokhoz

kellenek

� Megvásárolt termékek

� Minden más, ami a fenti termékek előállításához,

leírásához, kezeléséhez szükséges.

Page 5: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Konfigurációmenedzsment rendszer

létrehozása

� Tárolási pontok meghatározása

o Dinamikus: Helyben a fejlesztőnél tárolt verziók

o Kontrolált, vagy központi tárolási pont: Központi tároló pontja

a jelenlegi fejlesztésnek

o Statikus, archívum: A már kibocsájtott release-ek archívuma

© BME-MIT 2015 5.

o Statikus, archívum: A már kibocsájtott release-ek archívuma

� Tipikus konfigurációs életciklusok meghatározása

� Hozzáférési jogok kiadása

o Az egyes hozzáférési szintek meghatározása

o A résztvevőkhöz felelősségek és jogok társítása

Page 6: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Példa tipikus konfigurációs életciklusra

1 3 6 8 10 12

2 5 7 11Branch

Trunk

merge

BranchMegszakított

oldalág

© BME-MIT 2015 6.

1 3 6 8 10 12

4 9

Trunk

Tag

Page 7: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Konfiguráció menedzsment eszközei

� Egyszerűbb esetekben tipikusan valamilyen

verziókövető rendszert használnak

© BME-MIT 2015 7.

Page 8: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Verziókövető rendszerekAz igény kialakulása

� Egy tipikus fejlesztési probléma:

o Az eddig futó alkalmazáshoz új kódrészletet rakunk

o Az alkalmazás lefagy

o Visszaállítjuk a módosításokat

o Az alkalmazás még mindig fagy…

© BME-MIT 2015 8.

o Az alkalmazás még mindig fagy…

� A helyzet csak bonyolódik, ha nem egyedül dolgozunk:

o Változtatunk a működő alkalmazáson

o De valaki más is beleír egy picit

o Az alkalmazás lefagy

Page 9: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Triviális verziókövetés

� Naponta egy külön könyvtárba bemásoljuk az aznapi munkánk

eredményét

� Project mellé mellékelünk egy changelog file-t is

© BME-MIT 2015 9.

Page 10: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Triviális verziókövetés

� Naponta egy külön könyvtárba bemásoljuk az aznapi munkánk

eredményét

� Project mellé mellékelünk egy changelog file-t is

Problémák

� A másolatok komplett másolatok, tehát sok helyet igényelnek.

© BME-MIT 2015 10.

� A másolatok komplett másolatok, tehát sok helyet igényelnek.

� Milyen gyakorisággal készítsünk másolatot?

� Csak működő verziót másoljunk fel, vagy köztes verziót is?

� Hogyan tudjuk követni, hogy min változtattunk?

� A change file-t nagyon pontosan kell nyilvántartani, különben

inkább kártékony, mint hasznos, de nincs semmilyen

automatizmus, ami erre ösztönözne.

Page 11: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Centralizált verziókövető rendszerekAlaptulajdonságok

� A verziómenedzsment alapja nem más, mint egy adott project összes változásának nyilvántartása.

� Egy verziómenedzsment rendszer nyilvántarto minden egyes file-on létrehozott változást,

o a könyvtárstruktúrát érintő minden változást.

© BME-MIT 2015 11.

o a könyvtárstruktúrát érintő minden változást.

� A felhasználónak lehetősége vano megtekinteni a project vagy egy file állapotát egy adott

pillanatban,

o megtudni, hogy ki, mit és mikor változtatott az adott projecten

o kommentet tenni minden változtatás mellé

Page 12: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

� Repository (raktár): Központi nyilvántartása az

adatoknak vagy projectnek (a master copy).

� Client: Felhasználó, aki dolgozni kíván a projecten.

Centralizált verziókövető rendszerekAlapfogalmak

© BME-MIT 2015 12.

� Working copy: Egy Client által a projectből

létrehozott munkaváltozat, amit szabadon

változtathat.

Page 13: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Repository

Visszaír (Commit)

Centralizált verziókövető rendszerekMűködési alapok

© BME-MIT 2015 13.

Client 1 Client 2 Client 3

Olvas

(Check out)

Visszaír (Commit)

Page 14: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Verziómenedzsment stratégiák: A probléma

� Hogyan támogatja a verziókövető rendszer, hogy a felhasználók együtt dolgozzanak, de mégse lépjenek egymás lábára?

� Ilyen stratégia nélkül könnyen előfordulhat, hogy egy file-t vagy projectet egyszerre többen

© BME-MIT 2015 14.

egy file-t vagy projectet egyszerre többen módosítanak, majd felülírják egymás módosításait (a módosítások nem tűnnek el, de nem is kerülnek bele az új verzióba).

Page 15: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

A Lock–Modify–Unlock megközelítés

� Módosítás előtt le kell lockolni egy file-t.

� Tehát egyszerre csak egy ember tudja módosítani a file-t. Olvasni tudja más is.

© BME-MIT 2015 15.

Page 16: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Lock–Modify–Unlock megközelítés

if(temp>1)

a = 1;

else

a = 2;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 2;

Lock

© BME-MIT 2015 16.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 17: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Lock–Modify–Unlock megközelítés

if(temp>1)

a = 1;

else

a = 2;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 2;Read

© BME-MIT 2015 17.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 18: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 1;

else

a = 2;

RepositoryUser 1

Local copy

if(temp>1)

a = 1;

else

a = 3;

Lock–Modify–Unlock megközelítés

© BME-MIT 2015 18.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 19: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 1;

else

a = 3;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 3;

Write

Lock–Modify–Unlock megközelítés

© BME-MIT 2015 19.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 20: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 1;

else

a = 3;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 3;Unlock

Lock–Modify–Unlock megközelítés

© BME-MIT 2015 20.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 21: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 1;

else

a = 3;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 3;

Lock–Modify–Unlock megközelítés

© BME-MIT 2015 21.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 2;

Page 22: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 1;

else

a = 3;

Repository

User 1

Local copy

if(temp>1)

a = 1;

else

a = 3;

Lock–Modify–Unlock megközelítés

© BME-MIT 2015 22.

User 2

Local copy

if(temp>1)

a = 1;

else

a = 3;

Page 23: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

A Lock–Modify–Unlock megközelítés problémái

� Adminisztratív problémákhoz vezethet:o Ha egy fejlesztő elfelejt kilockolni egy file-t, akkor más nem

férhet hozzá.o Ha szabadságra megy, akkor pl. rendszergazda kell.

� Felesleges egymásra várást okozhat.o Egy C file-on belül például valaki az F1 függvényt akarja

módosítani, másvalaki pedig az F2-t. Semmi köze a kettőnek

© BME-MIT 2015 23.

o Egy C file-on belül például valaki az F1 függvényt akarja módosítani, másvalaki pedig az F2-t. Semmi köze a kettőnek egymáshoz mégsem tudják egyszerre megcsinálni.

� A biztonság hamis illúzióját keltheti.o Például két fejlesztő dolgozik ugyanazon a projecten, az

egyik lockolja az A file-t, a másik a B file-t. A két file között függőség áll fent. Mindketten azt hiszik biztonságban vannak, holott mégsem.

Page 24: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

A Copy–Modify–Merge megközelítés

� Egyszerre több fejlesztő is ki „check out”-olhatjaugyanazt, mindenki a saját Working copy-ját használja.

� Working copy: A Repository (vagy annak egy részének) saját gépen található leképezése.

� A létrejövő konfliktusokat pedig Merge-gel, tehát fuzionálással oldják fel, és így hoznak létre egy új

© BME-MIT 2015 24.

fuzionálással oldják fel, és így hoznak létre egy új verziót.

� A Merge, bár támogatva van a verziókövető rendszer által, alapvetően mégis emberi döntéseket követel, tehát nem automatikusan történik.

Page 25: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 1;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 1;

else

a = 2;

Check out

A Copy–Modify–Merge megközelítésa két fejlesző „check out”-ol

© BME-MIT 2015 25.

User 2

Local working copy

if(temp>1)

a = 1;

else

a = 2;

Page 26: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 1;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

A Copy–Modify–Merge megközelítésmindketten módosítanak

© BME-MIT 2015 26.

User 2

Local working copy

if(temp>1)

a = 1;

else

a = 20;

Page 27: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 10;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

Commit

A Copy–Modify–Merge megközelítésUser 1 végzett, feltölti a módosításokat

© BME-MIT 2015 27.

User 2

Local working copy

if(temp>1)

a = 1;

else

a = 20;

Page 28: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 10;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

A Copy–Modify–Merge megközelítésUser 2 nem tudja feltölteni a módosításokat

© BME-MIT 2015 28.

User 2

Local working copy

if(temp>1)

a = 1;

else

a = 20;

Page 29: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 10;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

A Copy–Modify–Merge megközelítésUser 2 frissít az új verzióra

© BME-MIT 2015 29.

User 2

Local working copy

if(temp>1)

a = 1;

else

a = 20;

if(temp>1)

a = 10;

else

a = 2;

Update

Edit conflicts

Page 30: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 10;

else

a = 2;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

A Copy–Modify–Merge megközelítésUser 2 merge-el

© BME-MIT 2015 30.

User 2

Local working copy

if(temp>1)

a = 10;

else

a = 20;

Page 31: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 10;

else

a = 20;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 2;

A Copy–Modify–Merge megközelítésUser 2 feltölti az új verziót

© BME-MIT 2015 31.

User 2

Local working copy

if(temp>1)

a = 10;

else

a = 20;

Page 32: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

if(temp>1)

a = 10;

else

a = 20;

Repository

User 1

Local working copy

if(temp>1)

a = 10;

else

a = 20;

Update

A Copy–Modify–Merge megközelítésUser 1 Update-el

© BME-MIT 2015 32.

User 2

Local working copy

if(temp>1)

a = 10;

else

a = 20;

Page 33: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

A Copy–Modify–Merge megközelítéselőnyök és hátrányok

� Egyszerre több fejlesztő is dolgozhat ugyanazon a kódon.

� Commit-nél az esetleges konfliktusok kiderülnek.

© BME-MIT 2015 33.

kiderülnek.

� Embernek kell döntenie a konfliktus feloldásáról.

� A verziókövető rendszer nem helyettesíti az emberek közötti kommunikációt.

Page 34: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Melyek azok az esetek, amikor mégis lock-otkell használni?

� Olyan bináris jellegű file-ok esetében, ahol a merge nem megoldható. o Például, hangfile-ok, bináris file-ok

oNYÁK-tervek, kapcsolási rajzok

© BME-MIT 2015 34.

oNYÁK-tervek, kapcsolási rajzok

� Ezért a legtöbb verziókövető rendszerben megtartották a lock funkciót.

Page 35: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Centralizált verziókövető rendszerekSVN, szerver oldal

© BME-MIT 2015 35.

Page 36: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

� Ingyenes SVN kliens (létezik CVS változat is)o http://tortoisesvn.net/

� Windows-ba beépülő

Centralizált verziókövető rendszerekSVN, kliens oldal, TortoiseSVN

© BME-MIT 2015 36.

� Windows-ba beépülő felhasználói felület

Page 37: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Repository

up

da

te

com

mit

Elosztott verziókövető rendszerekDistributed revision control

Developer 1

Repository

up

da

te

com

mit

Developer 2

Developer 3

Push / Pull

© BME-MIT 2015 37.

Working copy

up

da

te

com

mit

Working copy

up

da

te

com

mit

Repository

Working copy

up

da

te

com

mit

Page 38: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Elosztott verziókövető rendszerekelőnyök

� Mindenkinek megvan a saját játszótereo Saját repo-ba tetszőleges update-ek

o A saját repo előzményei logjai könnyen hozzáférhetőek

� Off-line is működiko A centralizált verzióknál állandóan on-line kell lenni és a server is

állandóan elérhető kell, hogy legyen

© BME-MIT 2015 38.

állandóan elérhető kell, hogy legyen

� Gyorso Az alapváltoztatások lokálisan végrehajthatóak

� Kevés menedzsment igényo Nem kell szervert üzemeltetni

� Könnyű branch-elnio Gyakorlatilag minden külön fejlesztő külön branch-et visz

Page 39: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Elosztott verziókövető rendszerekhátrányok

� Backup-ra továbbra is szükség vano A többieknél lévő verzió egy branch-nek tekinthető, tehát nem

egyenértékű a tieddel

� Gyakorlatilag nincs olyan, hogy jelenlegi verzióo Szintén abból ered, hogy mindenki gyakorlatilag független Branch-

et visz

© BME-MIT 2015 39.

et visz

� Nem nagyon léteznek revizió számoko Minden új változásnak általában GUID-ja van, ami nem mutat

folytatólagosságot

Page 40: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Gyakorlatban alkalmazott, elosztott verziókövető rendszerek

1 2

Repository

Szerver

© BME-MIT 2015 40.

Repository

Working copy

up

da

te

com

mitD

eve

lop

er

1

Repository

Working copy

up

da

te

com

mit

De

velo

pe

r

Page 41: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Elosztott verziókövető rendszerekGIT „szerver oldal”

� Gyakorlatilag nincs olyan, hogy szerveroldal, de ha központi tárhelyet akar valaki, akkor Pl: GitHub (26 millió

repo)

© BME-MIT 2015 41.

Page 42: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Elosztott verziókövető rendszerekGIT „kliens olda”

� Gyakorlatilag nincs ilyen sem …

� GitHub for windows

� TortoiseGIT

© BME-MIT 2015 42.

� TortoiseGIT

Page 43: VIMIMA11 Rendszertervezés és –integráció …...A Lock –Modify –Unlock megközelítés problémái Adminisztratív problémákhoz vezethet: oHa egy fejlesztő elfelejt kilockolniegy

Verziószámok kezeléseSemantic Versioning

Major Minor Bug

2 10 3

© BME-MIT 2015 43.

� Major: nagy változtatás. Általában ez olyan funkció / API változtatást jelent, ami inkompatibilis az előző verziókkal.

� Minor: Olyan kisebb funkcionalitás hozzáadása a rendszerhez, ami visszamenőlegesen kompatibilis (backwards-compatible)

� Bug: Visszamenőlegesen kompatibilis (backwards-compatible) hibajavítások.