CVS - I
4-dílný seriál o SCM systému CVS, který má za cíl popsat základní principy práce s tímto systémem. Úvod, filosofie CVS, založení prvního projektu.
22.11.2010 00:00 |
Miloslav Ponkrác
| Články autora
| přečteno 8464×
Úvod
Tento seriál slouží jako úvod do SCM systémů.
Seriál popisuje konkrétně starší systém na správu verzí CVS, ale mnoho principů může být užito i na
jiných SCM.
Pokud to myslíte s prací na nějakém projektu opravdu vážně, po nějaké
době začnete vyciťovat potřebu nějakého programu, který vám udělá pořádek
ve vašem projektu. Program, který zařídí, aby jste si nejnovější verzi
nějakého textu, programu, obrázku, či čehokoli jiného nepřepsali starší
verzí. Snad každý takto přišel občas o práci, která mu zabrala dlouhý čas.
Kromě toho se občas stane, že naopak zjistíte, že byste se potřebovali
vrátit ke starší verzi, protože čas ukázal, že je lepší, než novější. Ale
co s tím? Schraňovat mnoho starých verzí, kdyby náhodou? A to už vůbec
nemluvím o tom, pokud byste na projektu měli dělat dva, či vás pracovat
desítky lidí na tom samém projektu? Jak potom zabránit zmatku?
Protože tyto problémy měli lidé již dlouho, začaly vznikat různé
programy na správu projektů. A tento článek by měl být o léty prověřeném
programu, který sám používám, a který si nemohu vynachválit. Jedná se o
CVS, což je anglická zkratka Concurent
Version System. Tento systém má
za sebou dlouhý vývoj, je k dispozici na většinu platforem, mimo jiné i na
Windows, Linux, OS/2 a mnohé další. Tímto systémem byly řízeny mnohé projekty.
CVS je zdarma ke stažení na stránkách Cyclic Software.
Uživatelé linuxových distribucí jej mohou nainstalovat pomocí instalatorů v distribucích - balíček cvs.
Např. Debian,Ubuntu: apt-get install cvs ; Fedora: yum install cvs ; atd.
Snad jenom upozornění, tento dokument je psán tak, že pokud chcete začít
pracovat se systémem CVS, a nebo ho jenom vyzkoušet, nemusíte ho číst celý.
Následující kapitoly vás provedou krok za krokem nejnutnějšími kroky, které
musíte udělat. Začínám tím, kde program cvs
získat, jak ho nainstalovat, jak
vytvořit nový projekt, a jak v něm
spravovat váš první projekt. Pokud
chcete systém CVS používat opravdu jen na nejjednodušší správu projektů, a
pracujete na projektu sám, stačí vám toto nezbytné minimum. Pokud
potřebujete spravovat projekt ve více lidech, bude nezbytné si přečíst
ještě minimálně alespoň kapitolu o práci ve
vícečlenném týmu. Zbylé kapitoly vám umožní používat systém CVS s
lehkostí a jistotou.
Filozofie práce se systémem CVS
Tato kapitola o filozofii práce se systémem CVS zde původně nebyla.
Vzhledem ke zkušenostem s lidmi, kteří začali používat CVS podle tohoto
dokumentu jsem později zjistil, že patří mezi nejdůležitější. Proto vás
prosím, přečtěte si tuto kapitolu důkladně. Velice Vám usnadní pochopení
dalšího textu.
První je potřeba pochopit, že systém CVS slouží jako systém, který
dohlíží nad skupinu souborů nazývaných projekt. Systém CVS je schopen
udržet pořádek v této skupině souborů a nejenom to. Umožní Vám, aby jste se
třeba kdykoli vrátili ke starší verzi. Není třeba problém chtít po CVS, aby
mi nahrál do adresáře stav projektu třeba 1.ledna 1999 o půlnoci. Umožní
vám, aby do skupiny souborů (projektu) dělalo zásahy a změny více lidí. Je
možné například vyvíjet souběžně více verzí, což je často potřeba.
Představte si třeba, že vyvíjíte informační systém, který jste v první
verzi dodali zákazníkovi. Mezitím začnete vyvíjet druhou verzi informačního
systému. Poté zákazník objeví několik chyb v první verzi, a požaduje
opravu. Je jasné, že mu nedáte nestabilní druhou verzi, která se teprve
vyvíjí (tedy jste-li profesionálové), ale uděláte opravy nad první verzí. A
nyní tu máte souběžně dvě větve projektu. Jedna vede k vývoji stabilní
odladěné první verze, a druhá k vývoji zatím nedokončené druhé verze. A
systém CVS toho dokáže daleko více.
Na druhé straně je potřeba pochopit, že systém CVS je především systém
správy různých verzí souborů. Je zbytečné od něj chtít například přeložit
hotový program, na to existují jiné nástroje. Ale určitě vám zaručí, že v
programu vám nevzniknou chyby jenom proto, že někdo přeložil starší modul.
Systém CVS také neprovádí testování programu, ani nenahrazuje vedoucího
projektu.
V systému CVS se pracuje na několika úrovních. Přesněji řečeno, práce se
systémem CVS je myšleně rozdělena do několika celkem oddělených kategorií.
V zásadě jde o vytvoření nového projektu, administrace projektu, a potom
akce, které umožňují rutinní práce. Rutinní prací myslím získání aktuální
verze (případně jiné) verze projektu, a poté nahrání nové verze do systému
CVS.
Kde a jak získat systém CVS
Při používání systému CVS si můžete vybrat, zda budete s tímto systémem
komunikovat pomocí příkazové řádky, a nebo pomocí grafického rozhraní. Je
také možné obojí kombinovat.
V linuxových distribucích nejspíše provedete instalaci pomocí grafického nebo textového nebo řádkového rozhraní a
budete instalovat balíček cvs.
V případě, že si chcete CVS stáhnout ručně nebo jeho zdroje, tak je možné udělat ze stránek
projektu.
Pokud chcete spravovat CVS pomocí grafického prostředí, potom existuje
vícero systémů, jejichž popis není součástí tohoto manuálu (alespoň s tím
zatím nepočítám). Tuším, že grafické prostředí v pozadí volá CVS s příkazovou
řádkou.
Podpora CVS je také integrována s různými vývojovými prostředími. Namátkou uvedu Eclipse IDE, Netbeans, Anjuta,....
V dalším textu budu předpokládat, že budete ovládat systém CVS pomocí
příkazové řádky. Jednak je toto ovládání jednotné, a přitom nijak složité a
umožňuje Vám přitom plnou kontrolu nad systémem. Ovládání pomocí grafické
nadstavby se liší podle platformy, na které budete systém používat, a také
podle použité grafické nadstavby.
Inicializace systému CVS
Nyní je potřeba zvolit adresář, ve kterém si bude CVS systém uchovávat
informace o projektech. Je lépe zvolit jiný adresář, než ve kterém je
umístěn vlastní program cvs. Volba umístění adresáře závisí na tom, jakým
způsobem budete chtít projekty řídit. Pokud chcete řídit projekty vlastní,
asi nejlepší je zvolit adresář na vašem lokálním disku. Pokud chcete řídit
vývoj projektů ve Vaší firmě, je dobré umístit jej na server Vaší lokální
sítě. A pokud chcete vyvíjet například společný projekt po internetu, je
vhodné jej umístit na FTP server. Důležité je, aby všichni, kdo se účastní
na projektu, mohli z tohoto adresáře číst i zapisovat. Jsou samozřejmě
možné i jiné varianty, například adresář s informacemi o projektech může
mít na svém lokálním disku vedoucí projektu, a lidé, kteří se účastní
projektu si čas od času přijdou nahrát do systému CVS svoji práci a odnést
si změny, které provedli druzí. Je možnost zvolit mnoho jiných variant. Je
potřebné se také zamýšlet nad otázkou bezpečnosti. Pokud například nechcete
povolit přístup k projektu nepovolaným, je potřeba jej neumísťovat na
veřejném FTP serveru, v lokální síti by do adresáře s informacemi o
projektu neměli mít přístup nepovolaní, apod.
Pro počáteční vyzkoušení systému CVS je asi nejlepší umístit adresář s
informacemi na lokální disk. Zvolíme tedy adresář pro data. Pro Unix jej v
rámci ukázky zvolím asi jako $HOME/cvsroot , pro Windows třeba jako
c:\cvsroot. Pro instalaci je potřeba udělat ještě dvě akce, a to přidat
program cvs do cesty pomocí proměnné PATH, abychom mohli program cvs
spouštět z jakéhokoli adresáře. A nastavit proměnnou CVSROOT, ve které bude
zapsána plná cesta k adresáři pro data systému CVS.
Konfigurace pro Linux
Nastavíme proměnnou CVSROOT na adresář, kde máme data s informacemi.
Buď v konsoli pomocí příkazu export CVSROOT=$HOME/cvsroot - pouze pro dobu, kdy jsme
přihlášení v terminálu. Anebo zapíšeme tento příkaz do souboru ~/.bash_profile anebo
~/.bashrc pro trvalou změnu.
Konfigurace pro Windows
Nejlepší cesta, jak nastavit obě proměnné, je v případě Windows zapsat
je do souboru AUTOEXEC.BAT, v případě Unixu do .profiles.
Úpravy v AUTOEXEC.BAT (pro Windows):
Na konec souboru AUTOEXEC.BAT přidat následující dva řádky. Poté uložit
a restartovat.
set CVSROOT=:local:c:\cvsroot
set PATH=c:\cvs;%PATH%
V této chvíli je tedy potřeba vytvořit adresář pro data programu. Jde
jenom o to, že adresář c:\cvsroot (pro Windows), případně $HOME/cvsroot (v
případě Unixu) musí existovat. Pokud neexistuje, vytvoříme ho, ať už pomocí
příkazu mkdir (pracuje jak ve Windows, tak v Unixu), a nebo jinak. Máme
tedy vytvořen prázdný adresář pro data projektu.
V případě, že Vás zajímá další konfigurace CVS jako například instalace pro běh na síti anebo konfigurace přístupů,
prohlédněte si tento anglicky psaný tutoriál.
Teď je nutné inicializovat adresář pro data. To slouží k tomu, aby si
systém CVS vytvořil potřebné soubory pro správu projektů. Provádí se to
příkazem:
cvs init
V této chvíli máme systém CVS připravený k používání.
Založení prvního projektu v systému CVS
V této chvíli máme systém CVS připravený ke správě libovolného množství
projektů. Dále je potřeba do něj jednotlivé projekty "nasázet".
Systém CVS můžete použít ke správě například tvorby vašeho Webu, k řízení
programátorského projektu, či jiného projektu. Záleží na tom, co
potřebujete. Předem je ale potřeba říci, že se jedná o systém ke správě
verzí. Dokáže tedy velmi dobře udržovat pořádek v různých verzích, i když
na projektu pracuje mnoho lidí, ale rozhodně není určen pro překladání
programů do binární podoby apod.
Předpokládejme tedy, že budeme vytvářet webovskou stránku. Tento projekt
si nějak pojmenujeme, například prvniprojekt. Vytvoříme si někde
adresář, který si může jmenovat naprosto jakkoliv. Jméno adresáře dokonce
nemusí mít vůbec nic společného s názvem projektu, jenom do něj
překopírujeme vše, co již na tomto projektu máme hotovo. Pokud začínáme, a
nemáme zatím nic, nechme adresář prázdný. Důležité je, aby v tomto adresáři
byly pouze soubory, které se týkají našeho projektu. Soubory mohou být
rozdělené do podadresářů. Pro začátek doporučuji, aby se jednalo pouze o
textové soubory (tedy texty, HTML stránky, zdrojové kódy programů, skripty,
apod.). Ostatní soubory zatím do adresáře neumísťujte, přidáme je později,
potřebují trochu odlišný způsob. Zadání projektu prvniprojekt do
systému CVS provedeme ve dvou krocích:
1. Přesuneme se do adresáře, kde je vše co patří k projektu.
Jak již bylo napsáno výše, pokud začínáme s projektem, může se jednat i o
prázdný adresář.
2. Z tohoto adresáře spustíme příkaz:
cvs import -m "zalozeni projektu" prvniprojekt poc-tym
poc-verze
Vysvětlím, co znamenají podrobněji části výše uvedeného příkazu. Slovo
import znamená příkaz, který systém cvs vyzývá k založení nového
projektu. Zároveň mu říká, aby do tohoto projektu zavedl všechny soubory,
které objeví v aktuálním adresáři (zjistíte příkazem cd ve Windows,
případně pwd v Unixu). Do projektu se také přidají všechny podadresáře, a
soubory v těchto podadresářích. Volba -m říká systému CVS, že chceme
připsat poznámku, která je uvedena v uvozovkách za touto volbou. Musím
podotknout, že poznámku v tomto případě systém CVS vyžaduje, a pokud mu ji
nezadáte volbou -m v příkazovém řádku, systém CVS spustí editor, kde
mu ji můžete zadat. Slovo prvniprojekt je název projektu. Další dvě
slova značí jméno týmu a jméno počáteční verze, tam můžete zadat cokoli,
třeba zrovna poc-tym, nebo poc-verze.
Pokud jste se dostali až sem, a spustili příkaz, obvykle systém CVS vám
nejdříve ukáže průběh načítání souborů do projektu, a potom napíše něco v
tom smyslu, že "No conflicts" a ještě něco dalšího. Založili jste
úspěšně projekt do systému CVS.
Teď bude dobré smazat adresář, ze kterého jsme spustili CVS, a
zkopírovali soubory patřící k projektu. Protože zatím se systémem začínáte,
nezapoměňte si soubory zálohovat! Systém CVS je prověřený a celkem
spolehlivý, ale je potřeba s ním umět pracovat.
Licence: Tento dokument lze volně šířit pro nekomerční účely, bude-li zachováno
jméno autora a copyright. Pro komerční účely pouze s písemným svolením autora.
Seriál daroval: Astrolog Ing. Miloslav Ponkrác, www.ponkrac.net.
Verze pro tisk
|
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
 Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|