Verziókezelés

Verziókezelés alatt több verzióval rendelkező adatok kezelését értjük. Leggyakrabban a mérnöki tudományokban és a szoftverfejlesztésben használnak verziókezelő rendszereket fejlesztés alatt álló dokumentumok, tervek, forráskódok és egyéb olyan adatok verzióinak kezelésére, amelyeken több ember dolgozik egyidejűleg. Az egyes változtatásokat verziószámokkal vagy verzióbetűkkel követik nyomon.

A legtöbb verziókezelő rendszert szoftverfejlesztési projektekben használták először, de egyes szövegszerkesztők (például az Microsoft Word, az OpenOffice Writer és a KOffice), táblázatkezelők (például az OpenOffice Calc) és egyes tartalomkezelő szoftverek is támogatják az adatok különböző verzióinak a kezelését.

A beépített verziókezelés a wikiszoftvereknél (mint például a MediaWiki és a TWiki) is kulcsfontosságú. A wikirendszerek integrált verziókezelői teszik lehetővé, hogy a felhasználók nyomonkövethessék egymás szerkesztéseit, és visszaállíthassanak oldalakat azok korábbi verzióira, ezzel védekezve a vandalizmus és a spam ellen.

A verziókezelő szoftverek szükségességét és hasznosságát egyre szélesebb körben ismerik fel a különböző többszemélyes projektekben.[1]

Kezelési modellek

A hagyományos verziókezelők központosított modellel dolgoznak, ahol minden verziókezelési művelet egy közösen használt szerveren történik. Ha két fejlesztő egyidejűleg próbálja meg módosítani valamelyik fájlt, akkor valami módon el kell kerülni azt, hogy a két személy felülírja egymás munkáját. Az ilyen (centralizált) rendszerek kétféleképpen oldják meg ezt a problémát: zárolással és összefésüléssel.

Zárolás (lock)

A konkurens hozzáférés kezelésének legegyszerűbb módja, ha megtiltjuk a konkurens hozzáférést, azaz ha egy valaki már elkezd módosítani egy fájlt, akkor azt már más felhasználó nem nyithatja meg írásra. Ezt hívják elterjedt kifejezéssel lock-olásnak, a magyarosabb, de kevésbé elterjedt zárolás szó helyett. Ha egy felhasználó kivesz (kicsekkel) egy fájlt, akkor a többi felhasználó már csak olvasásra nyithatja meg azt egészen addig, amíg a kicsekkelő felhasználó visszateszi (becsekkeli) a módosított változatot (vagy elveti a módosítást).

Ennek a módszernek előnyei és hátrányai is vannak. A nagyobb vagy sok fájlt érintő változtatásoknál célszerű ezt választani, mert bonyolult összefésülési műveleteket lehet megtakarítani vele. Ha azonban egy fájl túl sokáig zárolt állapotban marad, akkor a többi fejlesztő esetleg arra kényszerülhet, hogy a verziókezelést megkerülve a fájl lokális másolatát módosítsa, ami nagyobb bonyodalmakhoz vezethet.

Összefésülés (merge)

Itt is az angol szóhasználat az elterjedtebb a magyarosabb összefésülés helyett. A legtöbb verziókezelő, például a CVS is, lehetővé teszi, hogy több felhasználó dolgozzon egyidejűleg ugyanazon a fájlon. Ekkor a saját változtatását elsőként becsekkelő felhasználó mindenképpen sikerrel fog járni. A rendszer a többi felhasználónak összefésülési lehetőséget ad, mellyel a különböző módosítások összeolvaszthatóak, így a felhasználók nem írják felül egymás munkáját. Az összefésülés lehet automatikus vagy kézi.

Általában az összefésülésre képes verziókezelők is adnak lehetőséget fájlok egyfelhasználós, kizárólagos szerkesztésére reserved edit néven.

Elosztott verziókezelő rendszerek

Szemben a kliens-szerver modellel, az elosztott verziókezelők decentralizált rendszerek. Itt egy központi tároló (angolul repository) helyett minden felhasználó gépe egy-egy külön tárolóként jelenik meg.[2] A szinkronizáció az egyes gépek között küldött patch-ek (módosításcsomagok) által valósul meg. Ez a megközelítés jelentős változásokat okoz:

  • Nincs nagy központi adatbázis, csak munkamásolatok vannak.[2]
  • A gyakori műveletek, mint a becsekkelés, verziótörténet böngészés és a változtatások visszaállítása gyorsak, mert nem kell központi szerverrel kommunikálni.[3]
  • Minden munkamásolat egy-egy backup, ami természetes védelmet ad az adatvesztés ellen.[3]

Két fajta elosztott verziókezelő létezik, a nyitott és a zárt. A nyitott rendszereket inkább nyílt forráskódú termékeknél használják, a zártakat inkább a nem nyilvános forráskódú termékeknél.

Nyitott rendszerek

A nyitott, elosztott verziókezelők támogatják különböző ágak létezését, és erősen függenek a fent tárgyalt összefésülés (merge) művelettől. Általános jellemzőik a következők:

  • Minden munkamásolat gyakorlatilag egy ág.
  • Minden ág egy-egy munkamásolatként implementálódik. Az ágak összefésülése patch-ek küldözgetésével történik.
  • Lehet válogatni az egyes változtatások között, nem kell feltétlenül minden változtatást letölteni.
  • Új tagok bármikor csatlakozhatnak a rendszerhez, nincs szükség szerveroldali regisztrációra.

Az egyik első nyitott rendszer a BitKeeper volt, mely azért is nevezetes, mert a Linux-rendszermag fejlesztéséhez is használták. Később a BitKeeper fejlesztői megváltoztatták a licencet, így a Linux fejlesztők más, szabad verziókezelő után kezdtek nézni.[4] Néhány szabadon használható, nyitott verziókezelő rendszer:

Zárt rendszerek

A zárt, eloszott verziókezelők adatbázis replikáción alapulnak. Csak egy baseline van, minden becsekkelt változás ebbe kerül bele. Egyik ilyen szoftver a Code Co-op.

Integráció

A fejlettebb verziókezelők további lehetőségeket is kínálnak, melyek lehetővé teszik az integrációt más eszközökkel. Különböző IDE-khez (IntelliJ IDEA, Eclipse és Visual Studio) gyakran letölthetőek különböző verziókezelői pluginok. A NetBeans IDE-t beépített verziókezelővel szállítják.

Közös szókincs

A terminológia rendszerenként változik, de vannak általánosan használt szakkifejezések:[5][6]

Baseline

Egy dokumentum vagy fájl jóváhagyott verziója, melyhez az azt követő változtatásokat viszonyítják.

Branch (ág)

A verziókezelt fájlok egy részhalmaza elágazhat, így azoknak több aktuális változatuk lesz egyidejűleg, melyeket akár különböző sebességgel és különböző irányokba is fejleszthetnek.

Check-out

Lokális másolat készítése valamely verziókezelt fájlról. Alapértelmezésben ilyenkor a legfrissebb verziót kapja a felhasználó, de általában van lehetőség konkrét verzió kikérésére is verziószám alapján.

Check-in, Commit vagy Submit

Az a művelet, amikor a lokális példány változtatásai beíródnak (vagy egyszerű másolás vagy összefésülés eredményeként) a szerveren tárolt változatba.

Conflict

Konfliktusról akkor beszélünk, ha ketten akarnak megváltoztatni egy dokumentumot vagy fájlt és a rendszer nem képes összeépíteni a változásokat. A felhasználónak ekkor fel kell oldania a konfliktust, amit vagy úgy tehet meg, hogy a változtatásokat összekombinálja vagy úgy, hogy kiválasztja az egyik változtatást és csak azt juttatja érvényre.

Change

Egy változtatás (change, diff vagy delta) mindig egy verziókezelt dokumentumon vagy fájlon tett változtatást jelenti. Rendszerfüggő, hogy milyen mértékű módosítások számítanak change-nek.

Change list

Egy change list vagy change set egy check-in művelet során bevitt változtatások listája, olyan rendszereken, melyek támogatják atomi műveletként több változás egyidejű becsekkelését.

Dynamic stream

Egy olyan adatszerkezet, amely egy adott tárolón lévő elemek konfigurációját reprezentálja, és időben változik.

Export

Az export a checkouthoz hasonlít azzal a különbséggel, hogy tiszta könyvtárat csinál a verziókezeléshez szükséges metaadatok nélkül. Ezt a műveletet általában közvetlenül a tartalom publikálása előtt szokták használni.

Head

A legutóbbi checkin.

Import

Az import művelettel lehet egy lokálisan tárolt adathalmazt, amely még nem munkamásolat, felmásolni a tárolóra és verziókontroll alá helyezni.

Mainline

Hasonlít a trunk-hoz, de minden ágnak lehet saját mainline-ja.

Merge

A merge művelettel két változtatáslistát lehet összefésülni, s ezáltal egy közös verziót létrehozni. Erre a következő esetekben lehet szükség:

  • Ha egy felhasználó módosítja a saját munkamásolatát, majd letölt a szerverről egy másik módosított változatot. Ekkor a szerveren lévő változásokat össze kell fésülni a lokális munkapéldány változásaival a kliensen.
  • Ha a fejlesztésben elágazás történt, majd egy hibát kijavítottak valamely ágban, s a javítást alkalmazni kell a másik ágra is.
  • Ha a fejlesztésben elágazás történt, majd az ágakat különböző irányba fejlesztettek tovább, s a különböző fejlesztéseket össze kell vonni egy közös változatba (trunk-ba).
Repository

A repository, depot vagy tároló az a hely (tipikusan egy szerver), ahol az aktuális és a korábbi verziók tárolódnak.

Reverse integration

Az egyes ágak összedolgozása és bedolgozása a verziókezelő fő trunk-jába.

Revision

A revision szó ugyanazt jelenti, mint a version. Egy verzió.

Tag

A tag, label vagy címke egy fontos időpillanatot jelöl. Egy adott fájlcsoporthoz hozzárendelhető egy címke, amely beszédes, felhasználóbarát nevet vagy verziószámot adhat a csoportnak.

Trunk

A fejlesztés egyik olyan vonala, amely nem branch.

Resolve

Változási konfliktusok feloldására irányuló felhasználói tevékenység.

Update

Az update vagy sync a repositoryban lévő változtatásokat dolgozza bele a felhasználó munkamásolatába.

Working copy

Magyarul munkamásolat. A repository fájljainak másolata a felhasználó lokális gépén. Minden olyan munka, ami bekerül a repository-ba, először mindig egy munkamásolatban történik meg, innen a neve. Fogalmilag a munkamásolat egy homokozó.

Hivatkozások

  1. Rapid Subversion Adoption Validates Enterprise Readiness and Challenges Traditional Software Configuration Management Leaders (angol nyelven). EETimes, 2007. május 17. [2007. szeptember 29-i dátummal az eredetiből archiválva]. (Hozzáférés: 2007. június 1.)
  2. a b Wheeler, David A.: Comments on Open Source Software / Free Software (OSS/FS) Software Configuration Management (SCM) Systems. [2020. november 9-i dátummal az eredetiből archiválva]. (Hozzáférés: 2007. május 8.)
  3. a b O'Sullivan, Bryan: Distributed revision control with Mercurial. (Hozzáférés: 2007. július 13.)
  4. Bitmover ends free Bitkeeper, replacement sought for managing Linux kernel code”, Wikinews, 2005. április 7. 
  5. Collins-Sussman, Ben, Fitzpatrick, B.W. and Pilato, C.M.. Version Control with Subversion. O'Reilly (2004. december 5.). ISBN 0-596-00448-6 
  6. Wingerd, Laura. Practical Perforce [archivált változat]. O'Reilly (2005. december 5.). ISBN 0-596-10185-6. Hozzáférés ideje: 2007. december 15. [archiválás ideje: 2007. december 21.] 

Read other articles:

Antoninus PiusKaisar ke-15 Kekaisaran RomawiPatung kepala Antoninus Pius, di Glyptothek, MunichBerkuasa11 Juli 138 – 7 Maret 161PendahuluHadrianusPenerusMarcus Aurelius dan Lucius VerusKelahiran(86-09-19)19 September 86dekat Lanuvium, ItaliaKematian7 Maret 161(161-03-07) (umur 74)LoriumPemakamanMausoleum HadrianusDinasti KekaisaranAntonineusNama lengkapTitus Aurelius Fulvus Boionius Arrius Antoninus (sejak lahir hingga diadopsi oleh Hadrianus); Titus Aelius Caesar Antoninus (sejak diad...

 

 

Enver PashaNama dalam bahasa asli(ota) اسماعیل انور پاشا BiografiKelahiran22 November 1881 Istanbul Kematian4 Agustus 1922 (40 tahun)Republik Soviet Rakyat Bukhara Penyebab kematianTerbunuh dalam tugas Tempat pemakamanMonumen Kebebasan, Istanbul   Q61946663 3 Januari 1914 – 14 Oktober 1918 ← Ahmet İzzet Pasha – Ahmet İzzet Pasha → Data pribadiAgamaIslam PendidikanOttoman Military College (en) KegiatanPekerjaanPolitikus dan persone...

 

 

Kiyohime Berubah dari seekor Ular karya Yoshitoshi Tsukioka Menurut cerita rakyat Jepang,[1] Kiyohime (清姫code: ja is deprecated ) (atau tepatnya Kiyo) adalah putri (atau dalam beberapa versi, janda) kepala desa dan tuan tanah yang bernama Shōji, di tepi sungai Hidaka. Keluarga tersebut menjadi kaya karena memberikan hiburan dan menyediakan penginapan untuk para pendeta yang lewat, yang sering melewati jalan mereka menuju sebuah kuil terkenal untuk praktik asketik. Lihat pula Dōj...

1971 film directed by Robert Anderson The Young GraduatesTheatrical release posterDirected byRobert AndersonScreenplay byDave DixonStory byRobert AndersonTerry AndersonProduced byRobert AndersonTerry AndersonWilliam M. AndersonStarringPatricia WymerSteven StewartGary RistBruno KirbyJennifer RittDennis ChristopherMarly HolidayCinematographyJ. Barry HerronJohn TollEdited byWilliam M. AndersonMusic byRay MartinProductioncompanyTempo EnterprisesDistributed byCrown International PicturesRelease da...

 

 

See also: 2022 United States gubernatorial elections 2022 Nevada gubernatorial election ← 2018 November 8, 2022 2026 → Turnout54.6%   Nominee Joe Lombardo Steve Sisolak Party Republican Democratic Popular vote 497,377 481,991 Percentage 48.81% 47.30% County results Congressional district resultsLombardo:      50–60%      60–70%      70–80%      80–90% Si...

 

 

Vatican City legislative body Pontifical Commission for Vatican City StateTypeTypeUnicameral LeadershipPresidentFernando Vérgez Alzaga since 1 October 2021 Seats8ElectionsVoting systemAppointment by the PopeLast election11 July 2018[citation needed]Meeting placePalace of the GovernorateWebsiteOfficial website This article is part of a series onVatican City History Duchy of Rome (533–751) Donation of Pepin (750s) Papal States (754–1870) Annates Congregation for Borders Fundamental...

2020年夏季奥林匹克运动会科索沃代表團科索沃国旗IOC編碼KOSNOC科索沃奧林匹克委員會網站www.noc-kosovo.org(英文)(阿爾巴尼亞文)(塞爾維亞文)2020年夏季奥林匹克运动会(東京)2021年7月23日至8月8日(受2019冠状病毒病疫情影响推迟,但仍保留原定名称)運動員11參賽項目6个大项旗手开幕式:阿基爾·賈科瓦(英语:Akil Gjakova)和瑪琳達·開爾門蒂(柔道)[1]闭幕式�...

 

 

Actinomycetes Nocardia adalah bakteri Gram positif yang dapat menyebabkan berbagai penyakit dan juga disebarluaskan (atau penyakit invasif), yang dikenal sebagai nocardiosis.[1] Nocardia ditemukan dalam tanah di mana akan merusak bahan organik.[1] Hal ini ditemukan di seluruh dunia dan beberapa strain patogen bagi manusia.[1] Nocardia sebagian besar organisme oportunistik dan penyakit yang lebih parah pada imunokompromais.[1] Nocardia menarik karena melepaskan ...

 

 

American military drama TV series For other uses, see Tour of duty (disambiguation). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Tour of Duty TV series – news · newspapers · books · scholar · JSTOR (July 2009) (Learn how and when to remove this message) Tour of DutyTitle card (seasons 2–3)GenreMil...

Chronologies Données clés 1677 1678 1679  1680  1681 1682 1683Décennies :1650 1660 1670  1680  1690 1700 1710Siècles :XVe XVIe  XVIIe  XVIIIe XIXeMillénaires :-Ier Ier  IIe  IIIe Chronologies thématiques Art Architecture, Arts plastiques (Dessin, Gravure, Peinture et Sculpture), (), Littérature (), Musique (Classique) et Théâtre   Ingénierie (), Architecture, () et ()   Politique Droit et ()   Religion (,)  ...

 

 

Ini adalah nama Batak Toba, marganya adalah Situmorang. Frederick Situmorang Pa Sahli Tk. III Bidang Intekmil dan Siber Panglima TNI Informasi pribadiLahirIndonesiaAlma materSMA Taruna Nusantara (1993) Akademi Angkatan Udara (1996)Karier militerPihak IndonesiaDinas/cabang TNI Angkatan UdaraMasa dinas1996—sekarangPangkat Marsekal Muda TNISatuanKorps PenerbangSunting kotak info • L • B Marsekal Muda TNI Frederick Situmorang adalah seorang perwira tinggi TNI-AU yang sej...

 

 

United States Coast Guard officer rank insignia describes an officer's pay-grade. Rank is displayed on collar devices, shoulder boards, and on the sleeves of dress uniforms. Commissioned officer ranks Commissioned officers in the Coast Guard are line officers, unlike the Navy, which has a staff corps to identify certain career fields. Coast Guard officers hold pay grades ranging from O-1 to O-10 and have the same rank structure as the Navy.[1][2] Officers holding the rank of ...

この項目では、九州石油株式会社について説明しています。STORKブランドについては「ENEOS#STORK」をご覧ください。 (旧)九州石油株式会社Kyushu Oil Co., Ltd.種類 株式会社市場情報 非上場略称 九石本社所在地 日本〒100-8567東京都千代田区丸の内一丁目6番6号設立 1960年(昭和35年)12月20日業種 石油・石炭製品事業内容 燃料油・LPG・潤滑油・石油化学製品の製造販売代表者...

 

 

Cinder cone in Coconino County, Arizona, US Sunset CraterSunset Crater from the Cinder HillsHighest pointElevation8,042 ft (2,451 m) NAVD 88[1]Prominence999 ft (304 m)[2]Coordinates35°21′52″N 111°30′13″W / 35.36444°N 111.50361°W / 35.36444; -111.50361[1]GeographySunset CraterShow map of ArizonaSunset CraterShow map of the United States LocationCoconino County, Arizona, U.S.Topo mapUSGS Sunset Crater...

 

 

此條目已列出參考文獻,但因為沒有文內引註而使來源仍然不明。 (2013年12月19日)请加上合适的文內引註来改善这篇条目。  本表是動態列表,或許永遠不會完結。歡迎您參考可靠來源來查漏補缺。 本列表列出馬來西亞 Astro On Demand劇集首映2016年播出的電視劇。 8.30港劇時段 (本时段的首播頻道為351頻道;高清頻道為350。) 5月2日起,与大马版翡翠台同步播出 播放日期 電...

共和国参议院 Senato della Repubblica第十九屆義大利議會(英语:Legislature XIX of Italy)种类种类意大利议会上议院领导參議院議長(英语:List of presidents of the Senate (Italy))伊尼亞齊奧·拉魯薩(兄弟黨) 自2022年10月13日副議長毛里齊奧·加斯帕里(英语:Maurizio Gasparri)(力量黨)錢益友(英语:Gian Marco Centinaio)(Lega(英语:Lega (political party)))安娜·羅索曼多(英语:Anna Rosso...

 

 

Fourth tier Romanian football league Football leagueLiga IV Caraș-SeverinFounded1968CountryRomaniaLevel on pyramid4Promotion toLiga IIIRelegation toLiga V – Caraș-Severin CountyDomestic cup(s)Cupa RomânieiSupercupa RomânieiCurrent championsSlatina-Timiș (1st title) (2022–23)Most championshipsCFR Caransebeș (7 titles)WebsiteAJF Caraș-SeverinCurrent: 2023–24 Liga IV Caraș-Severin Liga IV Caraș-Severin is the regional Liga IV football division for clubs in Caraș-Severin County, R...

 

 

ジャズ娘乾杯! 左からペギー葉山、雪村いづみ、寿美花代、江利チエミ、朝丘雪路監督 井上梅次脚本 井上梅次高木史郎出演者 寿美花代 朝丘雪路 雪村いづみ江利チエミ音楽 多忠修河村篤二撮影 遠藤精一製作会社 宝塚映画[1]配給 東宝[2]公開 1955年3月21日[2]上映時間 100分[2]製作国 日本言語 日本語テンプレートを表示 『ジャズ娘乾杯!』(ジャズむ...

Hung Shui KiuTraditional Chinese洪水橋Simplified Chinese洪水桥Literal meaningFloody BridgeTranscriptionsStandard MandarinHanyu PinyinHóngshuǐqiáoYue: CantoneseYale RomanizationHùhng séui kìuhJyutpingHung4 seoi2 kiu4 Hung Shui Kiu in 2017 Residential buildings near Hung Shui Kiu Light Rail stop. Hung Yuen Road in Hung Shui Kiu. Hung Shui Kiu is an area between Ping Shan and Lam Tei, in the western part of the New Territories of Hong Kong. It covers parts of Yuen Long and...

 

 

Baths of AntoninusRuins of the Baths of AntoninusLocationCarthage, TunisiaRegionNorth AfricaCoordinates36°51′16″N 10°20′06″E / 36.854321°N 10.335104°E / 36.854321; 10.335104TypeThermae Dimensions : Over 200 m on 100 mHistoryBuilderAntoninus PiusFounded145-162 UNESCO World Heritage SiteOfficial nameArchaeological Site of CarthageTypeCulturalCriteriaii, iii, viDesignated1979 (3rd session), together with Carthage[1]Reference no.37RegionArab ...