Verziókövetés és a Subversion. használata

Hasonló dokumentumok
Konfigurációmenedzsment

A FEJLESZTÉS KIHÍVÁSAI

Source control systems. Horváth Ernő, Dr. Pozna Claudiu Radu

Tortoise SVN használata. Képes útmutató

Rendszertervezés (Embedded System Design) VIMIM238 BME MIT: MSc beágyazott információs rendszerek szakirány

TITÁN keretrendszer bemutatása

OOP és UML Áttekintés

Telepítési útmutató. Az E220 elıkészítése. 1. Az E220 készülék csatlakoztatása PC-hez

Szoftver technológia. Verziókövető rendszerek. Cserép Máté ELTE Informatikai Kar 2019.

Címkék és ágak kezelése i. Címkék és ágak kezelése

"ALAPÍTÓ OKIRAT... A továbbiakban változatlanul a 13. ponttal bezárólag. Határidő: határozat megküldésére: október 30.

(11,05 Miskolczi Ferenc megérkezett, a létszám: 21 fő)

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

Amiről mindenki hallgat (angliai támogatási rendszer) - Élet az Egyesült Királyságban (Angliában)! - FRAN

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms

Interjú Dr. VÁRY Annamáriával

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

Az LR elemző felépítése. Léptetés. Redukálás. Kiegészített grammatika. Mit kell redukálni? Kiegészített grammatika. elemző. elemző.

Tartalom I. 1. Kohászat. 2. Egyedi Protanium acél. 3. Első osztályú korrózióvédelem. 4. Örökös garancia

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek

FIGYELEM! Ez a kérdőív az adatszolgáltatás teljesítésére nem alkalmas, csak tájékoztatóul szolgál!

Összeállította: dr. Leitold Adrien egyetemi docens

ÉVES GAZDASÁGSTATISZTIKAI JELENTÉS, 2012 Mezőgazdaság és szolgáltató ágazatok

Iványi László ARM programozás. Szabó Béla 1. Óra Verziókövetés

Full Circle L I B RE O F F I C E KÜ LÖ. Szöveges dokumentum. Adatbázis. Munkafüzet. Bemutató. Képlet LIBREOFFICE SOROZAT KÜLÖNKIADÁS

PÁLYÁZATI ÚTMUTATÓ. a Társadalmi Megújulás Operatív Program keretében

Mátrixok és determinánsok

készülék kicsomagolása és a tartozékok ellenőrzése Hálózati tápkábel Hordozólap/ Műanyag kártya hordozólapja

ÉVES GAZDASÁGSTATISZTIKAI JELENTÉS, 2012 Mezőgazdaság és szolgáltató ágazatok

A fordítónak mindenhez lehet

Piaci kitekintő Erste Alapkezelő Kommentár

MAGICAR 441 E TÍPUSÚ AUTÓRIASZTÓ-RENDSZER

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

MATEMATIKA FELADATLAP a 6. évfolyamosok számára

Dr. Mileff Péter SZOFTVERFEJLESZTÉS VERZIÓKÖVETÉS, VERZIÓKÖVETŐ RENDSZEREK. Miskolci Egyetem Általános Informatikai Tanszék

MAGYAR NYELVI FELADATLAP a 6. évfolyamosok számára

ÉVES GAZDASÁGSTATISZTIKAI JELENTÉS, 2012 Mezőgazdaság és szolgáltató ágazatok

MATEMATIKA FELADATLAP a 6. évfolyamosok számára

6. Tárkezelés. Operációs rendszerek. Bevezetés A program címeinek kötése. A címleképzés. A címek kötésének lehetőségei

Kovács Judit ELEKTRO TEC HNIKA-ELEKTRONIKA 137

európa modern alkotmányos demokráciái ma jellemzően

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

Z600 Series Color Jetprinter

Inlernet Online-utalványok könyvelése a Termékpartnernél. Kérdés. Válasz

Fonya ZH recap szabivános typo lehet, bocs

4. Legyen Σ = {0, 1}. Adjon meg egy determinisztikus véges automatát, amely azokat a szavakat fogadja el,

A vasbeton vázszerkezet, mint a villámvédelmi rendszer része

2000. évi XXV. törvény a kémiai biztonságról1

készülék kicsomagolása és az alkatrészek ellenőrzése Hálózati tápkábel Hordozó fólia/ hordozó fólia műanyag kártyához DVD-ROM

Bevezetés a programozásba. 4. Előadás Sorozatok, fájlok

tud vinni, tehát nem kényszeríthetjük építsen magának, hogy a mozsárkályhát Abból indulnék ki, hogy nem elvétett gondolat-e a fűtőmű

MATEMATIKA FELADATLAP a 6. évfolyamosok számára

Térinformatikai és távérzékelési alkalmazások fejlesztése. A szoftverfejlesztés technikai támogatása

Gyakorló feladatsor 9. osztály

Bazaar ismertető. Timár András

KÖZPONTI STATISZTIKAI HIVATAL

Formális nyelvek. Aszalós László, Mihálydeák Tamás. Számítógéptudományi Tanszék. December 6, 2017

Kezelési útmutató ECO és ECO Plus

Jegyzőkönyv. Termoelektromos hűtőelemek vizsgálatáról (4)

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

KÖZPONTI STATISZTIKAI HIVATAL

finanszírozza más városnak, tehát ezt máshonnan finanszírozni nem lehet.

EasyMP Multi PC Projection kezelési útmutatója

FESTÉSZETÜNK TÖRTÉNETÉNEK SZENTENDREI VONATKOZÁSAI A XIX. SZÁZADBAN

KÉRDŐÍV A SZOCIÁLIS SZOLGÁLTATÁSOKRÓL ÉS GYERMEKELLÁTÁSOKRÓL 2010

Jelszavas hozzáférés korlátozás

12. rész: Verzió- és feladatkezelés a szoftverfejlesztésben. Bakay Árpád NETvisor kft (30) arpad.bakay@netvisor.hu

.hu shi ubi its m www.

Mosógép Telepítési és használati útmutató

F a 1 u s s v Sándor: A Jogi és Ügyrendi Bizottság 6 igen szavazattal a rendelet-tervezet elfogadását javasolja.

Dropbox - online fájltárolás és megosztás

FIGYELEM! Ez a kérdőív az adatszolgáltatás teljesítésére nem alkalmas, csak tájékoztatóul szolgál!

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Sosem volt még ennyire egyszerű a számlázás!

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

1. Végezd el a kijelölt mûveleteket a betûk helyére írt számokkal! Húzd alá azokat a mûveleteket,

2. Gauss elimináció. 2.1 Oldjuk meg Gauss-Jordan eliminációval a következő egyenletrendszert:

E5CN Alkalmazási segédlet

5. Logaritmus. I. Nulladik ZH-ban láttuk: 125 -öt kapjunk. A 3 5 -nek a 3. hatványa 5, log. x Mennyi a log kifejezés értéke?

Mérnöki modellalkotás Az elmélettől a gyakorlatig. Prefix fák tömörítése: a dinamikus programozás

Piaci kitekintő Erste Alapkezelő Kommentár

Hatvani István fizikaverseny forduló megoldások. 1. kategória

Start. Gyors telepítési útmutató DCP-7055 / DCP-7060D DCP-7065DN FIGYELEM CAUTION VIGYÁZAT

Hoya multifokális lencsék

ÉVES BERUHÁZÁSSTATISZTIKAI JELENTÉS, 2016

KÉRDŐÍV. (március hó 31. napja, 24 órai állás szerint) Születési idő. nős/férjezett

Lineáris programozás

Manual de instalación y uso del aparato LCD Manual de instalação e uso do aparelho LCD

FIGYELEM! Ez a kérdőív az adatszolgáltatás teljesítésére nem alkalmas, csak tájékoztatóul szolgál!

VÉREK TES. Az őszi levél üzenete. a Budapest József Utcai Baptista Gyülekezet lapja

GAZDASÁGI MATEMATIKA I.

Lakások elektromágneses sugárzásának mértéke és ezek csökkentési lehetőségei

Javaslom és kérem, hogy a következő alkalomra Várpalota

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Juhász István Orosz Gyula Paróczay József Szászné Dr. Simon Judit MATEMATIKA 10. Az érthetõ matematika tankönyv feladatainak megoldásai

Type Operating Instructions Cord/Cordless Hair Clipper

VB-EC2012 program rövid szakmai ismertetése

tétel vizsgálata Betonösszet Szilikapor A kötőanyag összetétele: Salak Pernye Alapesetben pernyét, ezért g semennyi pernyét sem gyakorlatilag

Uecker. Képpé formált anyag

Átírás:

Verziókövetés és Subversion hsznált Scherer Blázs, Csordás Péter BME MIT 2009

Bevezetés: Fejlesztés közben fellépı áltlános problémák Egy tipikus fejlesztési problém: Az eddig futó lklmzáshoz új kódrészletet rkunk Az lklmzás lefgy Visszállítjuk módosításokt Az lklmzás még mindig fgy A helyzet csk bonyolódik, h nem egyedül dolgozunk: Változttunk mőködı lklmzáson De vlki más is beleír egy picit Az lklmzás lefgy

Megoldás: Verziókontroll, verziómenedzsment A verziómenedzsment lpj nem más, mint egy dott project összes változásánk nyilvántrtás. Egy verziómenedzsment rendszer nyilvántrt minden egyes file-on létrehozott változást, könyvtárstruktúrát érintı minden változást. A felhsználónk lehetısége vn megtekinteni project vgy egy file állpotát egy dott pillntbn, megtudni, hogy ki, mit és mikor változttott z dott projecten kommentet tenni minden változttás mellé

Alpfoglmk: Repository, Client, Working copy (munkmásolt) Repository (rktár): Központi nyilvántrtás z dtoknk vgy projectnek ( mster copy). Client: Felhsználó, ki dolgozni kíván projecten. Working copy: Egy Client áltl projectbıl létrehozott munkváltozt, mit szbdon változttht.

Alpfoglmk: mőködés Repository Visszír (Commit) Olvs (Check out) Olvs (Check out) Client 1 Client 2 Client 3

Verziómenedzsment strtégiák: A problém Hogyn támogtj verziókövetı rendszer, hogy felhsználók együtt dolgozznk, de mégse lépjenek egymás lábár? Ilyen strtégi nélkül könnyen elıfordulht, hogy egy file-t vgy projectet egyszerre többen módosítnk, mjd felülírják egymás módosításit ( módosítások nem tőnnek el, de nem is kerülnek bele z új verziób).

A Lock Modify Unlock megközelítés Módosítás elıtt le kell lockolni egy file-t. Tehát egyszerre csk egy ember tudj módosítni file-t. Olvsni tudj más is.

Lock Modify Unlock megközelítés Repository Lock Red User 1 Locl copy User 2 Locl copy

Lock Modify Unlock megközelítés Repository User 1 Locl copy 3; 3; User 2 Locl copy X Lock

Lock - Modify - Unlock megközelítés Repository 3; 3; Write Unlock User 1 Locl copy 3; 3; User 2 Locl copy

Lock - Modify - Unlock megközelítés Repository User 1 Locl copy 3; 3; 3; 3; Lock User 2 Locl copy Red 3; 3;

A Lock Modify Unlock megközelítés problémái Adminisztrtív problémákhoz vezethet: H egy fejlesztı elfelejt kilockolni egy file-t, kkor más nem férhet hozzá. H szbdságr megy, kkor pl. rendszergzd kell. Felesleges egymásr várást okozht. Egy C file-on belül például vlki z F1 függvényt krj módosítni, másvlki pedig z F2-t. Semmi köze kettınek egymáshoz mégsem tudják egyszerre megcsinálni. A biztonság hmis illúzióját keltheti. Például két fejlesztı dolgozik ugynzon projecten, z egyik lockolj z A file-t, másik B file-t. A két file között függıség áll fent. Mindketten zt hiszik biztonságbn vnnk, holott mégsem.

A Copy Modify Merge megközelítés (CVS, Subversion stb. áltl hsznált módszer) Egyszerre több fejlesztı is ki check out -olhtj ugynzt, mindenki sját Working copy-ját hsználj. Working copy: A Repository (vgy nnk egy részének) sját gépen tlálhtó leképezése. A létrejövı konfliktusokt pedig Merge-gel, tehát fuzionálássl oldják fel, és így hoznk létre egy új verziót. A Merge, bár támogtv vn verziókövetı rendszer áltl, lpvetıen mégis emberi döntéseket követel, tehát nem utomtikusn történik.

A Copy Modify Merge megközelítés Mindketten ki check out -olják file-t Repository User 1 Locl working copy Check out User 2 Locl working copy Check Out

A Copy Modify Merge megközelítés Mindketten módosítják Repository User 1 Locl working copy User 2 Locl working copy

A Copy Modify Merge megközelítés User 1 végzett, feltölti módosításokt Repository Commit User 1 Locl working copy User 2 Locl working copy

A Copy Modify Merge megközelítés User 2 nem tudj feltölteni módosításokt, mert z ı locl working copy-j nem up-to-dte Repository User 1 Locl working copy User 2 Locl working copy X Commit

A Copy Modify Merge megközelítés User 2 kiolvss z új verziót Repository User 1 Locl working copy Edit conflicts User 2 Locl working copy

A Copy Modify Merge megközelítés User 2 mergel Repository User 1 Locl working copy User 2 Locl working copy

A Copy Modify Merge megközelítés User 2 feltölti z új verziót Repository User 1 Locl working copy User 2 Locl working copy Commit

A Copy Modify Merge megközelítés User 1 Updte-el Repository User 1 Locl working copy Updte User 2 Locl working copy

A Copy Modify Merge megközelítés Egyszerre több fejlesztı is dolgozht ugynzon kódon. Commit-nél z esetleges konfliktusok kiderülnek. Embernek kell döntenie konfliktus feloldásáról. A verziókövetı rendszer nem helyettesíti z emberek közötti kommunikációt.

Melyek zok z esetek, mikor mégis lockot kell hsználni? Olyn bináris jellegő file-ok esetében, hol merge nem megoldhtó. Például, hngfile-ok, bináris file-ok NYÁK-tervek, kpcsolási rjzok Ezért legtöbb verziókövetı rendszerben megtrtották lock funkciót.

Subversion (SVN) A Copy Modify Merge módszert hsználj. Open source http://subversion.tigris.org/ Eredetileg CVS leváltásár, egy jobb CVS. Apche webszerver lá telepíthetı, lpvetıen szerver, létezik windows-os egybıl települı változt is. Alpvetıen commnd line kliens, mihez sok grfikus user interfce változt létezik.

Subversion working copy-k Helyi gépen lévı másolt repositorynk vgy nnk egy drbjánk. Trtlmz még egy.svn könyvtárt könyvtáronként, mi trtlmzz, hogy melyik file került módosításr stb. Minden commit mővelet htásár egy snpshot jön létre repository-ról.

Subversion hsznált Elsı lépés: server telepítése Apche webszerver lá Áltlábn nem mi dolgunk ezt telepíteni és beállítni különbözı felhsználókt. Létezik Visul SVN telepítı, mely egyszerősíti problémát.

Subversion server Windows-on http://www.visulsvn.com/server

VisulSVN (telepítés) Gykorltilg next nyomogtás, szerver nevet kell megdni.

Repository és nnk elemei Második lépés: repository létrehozás Repository (rktár): Központi nyilvántrtás z dtoknk vgy projectnek ( mster copy). A legtöbb repository projectenként következı lpkönyvtárkt trtlmzz: trunk Min line of development tgs Relese-ek, stbil verziók brnches Az elágzások követésére Minden commit mővelet htásár egy snpshot jön létre repository-ról. Az összes repository-bn nyilvántrtott elemhez (file, vgy könyvtár) trtozik egy ún. Revision number. A Revision number egy integer szám, mely minden változttásnál inkrementálódik.

Repository változás egy project során Második lépés: repository létrehozás A legtöbb repository projectenként következı lp könyvtárkt trtlmzz Trunk: Min line of development tgs: Relese-ek, stbil verziók Brnches: Az elágzások követésére

VisulSVN (Repository létrehozás 1)

VisulSVN (Repository létrehozás 2)

VisulSVN (User hozzádás) Hrmdik lépés: felhsználók hozzádás

VisulSVN (User hozzárendelése egy repository-hoz)

VisulSVN (repository címének másolás) Ezt kell mjd megdni kliensnek

Client Tortoise SVN Negyedik lépés: kliens telepítése

TortoiseSVN Ingyenes SVN kliens (létezik CVS változt is) http://tortoisesvn.net/ Windows-b beépülı felhsználói felület

Hozzá dás z SVN rendszerhez Ötödik lépés: új file-ok hozzádás verziókövetıhöz Add..

File-ok hozzádás 2 Ki kell válsztnunk, hogy mely file-ok fognk szerepelni rendszerben. Minden hozzádott könyvtárhoz létrejön sját rejtett SVN könyvtár. Nem célszerő olyn file-okt hozzádni rendszerhez, melyek nem trtoznk szorosn verziókövetés lá Object file-ok Hex file-ok is, bár ez lól vn kivétel.

Commit Htodik lépés: repository elsı feltöltése Még nincsenek hozzádv repository-hoz, csk commit-elni lehet. Fontos, hogy minden új hozzádáshoz egy note-ot kell írnunk. Ez teszi lehetıvé, hogy összefoglljuk mit változtttunk. A verziókövetı rendszer nem vrázsló, nem tlálj ki gondoltunkt.

Új felhsználó hozzáférése projecthez Check out Még nincs sját working copy-nk, létre kell hozni. Kijelöljük, hová krjuk sját snd boxunkt, és Check out

Check out Leszedi z új verziókt Minden up-to-dte

Ikon mgyráztok Norml: státus, up-to-dte Modified: helyi módosítás Conflict: nem updtelhetı Red-only vlki lockol-t, míg nem tudjuk lockolni, ddig csk olvshtjuk. Locked: Zárolv Deleted: Törölve Added: Új hozzádv

Helyi módosítás és nnk felvitele Commit Miért nem jó ez így? Meg kellene nézni, hogy volt-e változttás projecten (egyébként szólt voln). Össze kellene vetni változásokt.

Többiek követik módosítást Updte

De mi volt módosítás? Updte

Repository Több user módosít Mindketten ki check out -olják file-t User 1 Locl working copy Check out User 2 Locl working copy Check Out

Repository Mindketten módosítják User 1 Locl working copy User 2 Locl working copy

User 1 végzett, feltölti módosításokt Repository Commit User 1 Locl working copy User 2 Locl working copy

User 2 nem tudj feltölteni módosításokt, mert z ı locl working copy-j nem up-to-dte Repository User 1 Locl working copy User 2 Locl working copy X Commit

Repository User 2 kiolvss z új verziót User 1 Locl working copy User 2 Locl working copy Updte

Repository User 2 mergel User 1 Locl working copy User 2 Locl working copy

Repository User 2 feltölti z új verziót User 1 Locl working copy User 2 Locl working copy Commit

Több user módosít (Elsı lépés: Check..) Az egyik user jvít vlmit, és feltölti A másik is módosít, és mit kell tennie Elsı lépés: Check for modifiction

Több user módosít (Második lépés: Updte, Merge, mjd Commit) A módosított file-ok letöltése Updte H nincs olyn változás, mi zt részt érinti, mit mi hsználtunk, kkor utomtikusn mergel. H vn, kkor konfliktust jelez, mit nekünk kell feloldni.

A verziók változttásink követése

A verziók változttásink követése Mindegyikrıl meg lehet nézni Mi változott? Mikor? Ki áltl? Mi volt komment? Össze lehet z egyes változásokt hsonlítni.

A verziók változttásink követése grfikusn Revision grph

Vissztérés egy régi verzióhoz Updte to revision

Új relese létrehozás Brnch/tg

Összefogllás Hsznos eszköz, de Nem trtj helyettünk számon, hogy mit, miért módosítottunk. Csk segít tiszt project dtbázis létrehozásábn, nem csinálj meg helyettünk. Nem helyettesíti munktársk közötti kpcsolttrtást. Ezek z emberek dolgi.