[go: up one dir, main page]

Ugrás a tartalomhoz

Cvs

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen Zafir (vitalap | szerkesztései) 2014. augusztus 8., 10:08-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól. (további fordítás)
Concurrent Versions System
FejlesztőThe CVS Team
Első kiadás1990-11-19
Legfrissebb stabil kiadás1.11.23 (stabil verzió, 2008. május 8.)[1][2]
Legfrissebb fejlesztői kiadás1.12.13 (feature release, béta-verzió, 2005. szeptember 28.)[3]
Programozási nyelvC
Operációs rendszerUnix-szerű, Windows
Kategóriaverziókezelő szoftver
LicencGNU General Public License
A Concurrent Versions System weboldala

A szócikk egy része még lefordítandó. Segíts te is a fordításban!

A Concurrent Versions System (magyarul Konkurens Verziók Rendszere) röviden (CVS), ismert még Concurrent Versioning System (magyarul Konkunrens verziókezelő rendszer), egy kliens-szerver szabad szoftver verziókezelő rendszer a szoftverfejlesztés területén. Egy verziókezelő rendszer nyomon követ adott fájlok egy halamazán végzett minden munkát és minden változást, és lehetővé teszi számos fejlesztő számára (potenciálisan egymástól függetlenül térben és időben) az együttműködést. Dick Grune fejlesztette ki a CVS-t shell script-ek sorozataként 1986 Júliusában[4].

Mindemellett, a kereskedelmi szoftverfejlesztők számára is a CVS népszerűvé vált a GNU General Public License alatt kiadott szoftver a nyílt forráskódú szoftver világgal együtt. Habár volt rendszeres fejlesztés, melynek során új funkciókat és hibajavításokat is készítettek a múltban[5], beleértve a rendszeres buildeket és teszt eredményeket [6], 2008-óta nincs új kiadás[7]. A termék meglehetősen érett, és nem adnak ki új kiadást, ameddig új funkciók megvalósítására nem érkeznek kérések[8], vagy hibariportok[9].

Funkciók

A CVS kliens-szerver architektúrát használ: a szerver tárolja a projekt és történetének aktuális verzióit, és a kliens csatlakozik a szerverre, hogy a projekt egy teljes másolatát le tudja szedni ("check out"), majd ezen a másolaton dolgozik és végül beküldi ("check in") a változásait a szerverre. Tipikusan a kliens és a szerver egy LAN-on vagy az Internet-en keresztül csatlakozik egymáshoz, de a kliens és a szerver futhat ugyanazon a gépen is, ha a CVS-nek csak az a feladata, hogy a helyi fejlesztők munkáját és ezzel kapcsolatos projekt történetet kövesse nyomon kizárólag. A szerver szoftver általában egy Unix-on fut (habár a CVSNT szerver szintén támogat számos Microsoft Windows verziót), míg a CVS kliens futhat bármely elterjedtebb operációs rendszer platformon.

Korlátlan számú fejlesztő dolgozhat ugyanazon a projekten párhuzamosan, mindegyik szerkeszthet fájlokat a projekt saját "munkamásolat"ában és küldhet (vagy beteheti) a módosításait a szerverre. Azért, hogy elkerüljük, hogy az emberek egymás tyúkszemére léphessenek, a szerver csak a legutolsó változaton történt változtatásokat fogadja el. A fejlesztőktől ezért elvárás, hogy tartsák a saját munkamásolatukat naprakészen a többiek változásainak rendszeres frissítésével. Ezt a feladatot a cvs kliens nagyrészt automatikusan elvégzi, és csak a betett módosítások és még nem berakott fájl helyi változata közti szerkesztési összeütközés során kér kézi beavatkozást.

Ha a berakás művelet sikerült, akkor minden érintett fájl verziószáma automatikusan növekszik, és a CVS szerver ír új sor a felhasználó által megadott leírással, a dátummal és szerző nevével a log fájljaiba. A CVS képes futtatni külső, felhasználó által megadott log feldolgozó scriptet is minden elfogadásra (angolul commit). Ezek a scriptek bejegyzésenként telepíthetők a CVS loginfo fájljában, ezekkel képes indítani e-mail értesítést vagy átkonvertálni a log adatokat más pl. Web alapú formátumba.

A kliensek össze tudnak hasonlítani verziókat, teljes változás történetet, vagy lehozni adott dátumhoz vagy felülvizsgálati számhoz (angolul revision number) a projekt történetének egy pillanatfelvételét.

Névtelen CVS

Számos nyílt forráskódú projekt megengedi a "névtelen olvasási hozzáférés"t, amely funkció népszerűsítésében a OpenBSD járt élen. Ez azt jelenti, hogy kliensek le tudják szedni a projektet, és össze tudják hasonlítani verziókat a sajátjukkal, egy üres vagy egyszerűen közzétett jelszó segítségével (pl. "anoncvs"), csak változások berakása kívánja meg, hogy rendelkezzenek személyes fiókkal és jelszóval ezen forgatókönyv szerint.

A kliensek használhatják a "frissítés" parancsot, hogy a helyi másolatukat naprakésze hozzák a legújabb verziókkal frissítve a szerverről. Ezzel elkerülhető az egész projekt újból és újból való letöltési kényszere.

A CVS képes kezelni egy adott projekt különböző fejlesztési ágait is. Például egy szoftver egy kiadási verziója alkothat egy ágat, pl. hibajavításhoz, míg egy másik verzió, a jelenlegi fejlesztéshez, a főbb változások és új funkciók bevezetéséhez alkothat egy ettől különböző ágat.

A CVS delta tömörítést használ az ugyanazon fájl különböző verzióinak hatékony tárolására. Ez jól működik nagy szöveges fájlokkal, ahol egyszerre kevés változtatás van a verziók között, amilyenek pont a forrásfájlok. Másrészről, amikor a CVS-nek megmondjuk, hogy binárisan tároljon egy fájlt, akkor szerveren tartja az összes különböző változatot. A fájlok bináris tárolása fontos lehet, azért hogy elkerüljük a bináris fájlsérüléseket.

„ A nyílt forráskódú szoftver világában a Concurrent Version System (CVS) egy régóta létező eszköz választás a verziókövetésre. És ez így van rendjén. CVs maga egy szabad szoftver és a nem kizárólagos működési módja és hálózati műveletek támogatása - amely lehetővé teszi tucatnyi földrajzilag szétszórt programozók számára, hogy megoszthassák munkájukat - kiválóan illeszkedik a nyílt forráskódú világ együttműködésen alapuló természetéhez. A CVS és fél kaotikus fejlesztési modellje sarokkövévé vált a nyílt forráskódnak.”

– Collins-Sussman, Verziókövetés a Subversionnel a Subversion 1.1-hez, 2005

Szaknyelv

A CVS felcímkéz egy projektet (érintett fájlok egy halmazát), ami kezel modulként. A CVS szerver tárolja a modulokat, amit kezel az ő tárolójában. A fejlesztők megszerezhetik a modulok másolatait a checking out (lehozás) paranccsal. Ezek a lehozott fájlok munkamásolatokként, homokozóként ill. munkaterületként működnek. A munkamásolaton végzett változtatások a tárolóban tükröződhetnek azzal, hogy commitáljuk azaz betesszük őket.

Kapcsolódó szócikkek

IDEk CVS támogatással

Jegyzetek

  1. Derek Robert Price: Concurrent Versions System - News Stable CVS Version 1.11.23 Released! (angol nyelven), 2008. május 8. (Hozzáférés: 2021. február 10.)
  2. Derek Price: Stable CVS Version 1.11.23 Released! (angol nyelven), 2008. május 8. (Hozzáférés: 2021. február 10.)
  3. Derek Robert Price: Concurrent Versions System - News CVS Feature Version 1.12.13 Released! (angol nyelven), 2005. szeptember 28. (Hozzáférés: 2021. február 10.)
  4. CVS--Concurrent Versions System v1.12.12.1: Overview. ximbiot.com - Per Cederqvist. (Hozzáférés: 2011. december 9.)
  5. CVS Change Log. (Hozzáférés: 2011. február 22.)
  6. CVS Test Results. (Hozzáférés: 2011. február 22.)
  7. Forráshivatkozás-hiba: Érvénytelen <ref> címke; nincs megadva szöveg a(z) latestversion nevű lábjegyzeteknek
  8. Open requests for fixes/features. (Hozzáférés: 2011. február 22.)
  9. Requests for fixes/features. (Hozzáférés: 2011. február 22.)
  10. Barrett, Arthur: Anonymous or Developer checkout with TortoiseCVS, 2010. június 25. (Hozzáférés: 2010. július 10.)
  11. Barrett, Arthur: TortoiseCVS instructions – sourceforge. (Hozzáférés: 2010. július 10.)

Források

További információk

Sablon:Revision control software -->