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. Stavy verzí souborů, základní syntaxe příkazů CVS, mazání verzí.
13.12.2010 00:00 | Miloslav Ponkrác | přečteno 7215×
Při vytváření projektu a práci na projektu se každý soubor dostává v zásadě do tří možných stavů. Je to stav, kdy ho vytváříte, a nemáte ho ještě prozkoušený. Potom nic nezaručujete. Takový stav nazývejme experimentální. Dále je to stav, kdy jste soubor otestovali, můžete říci, že jste se snažili zbavit se všech možných chyb. To je stav stabilní verze. A potom je to stav, kdy soubor prošel testováním, a je určen k distribuci zákazníkovi.
Tyto údaje můžete také systému CVS sdělovat. Pokud se na to vykašlete,
CVS automaticky všechny verze všech souborů bude označovat jako
experimentální. Stav souboru v projektu vám vypíše v každém podrobnějším
výpise změn, třeba v logovacím výpisu. Taktéž
příkaz status vám vypíše stav souboru. Za slovem State: vám
vypíše jedno ze tří slov:
Pokud chceme nějakou verzi označit jako stabilní, použijeme příkaz:
cvs admin -sStab jmeno_souboru
Pokud chceme nějakou verzi označit jako určenou k distribuci, použijeme
příkaz:
cvs admin -sRel jmeno_souboru
Pokud například označíte soubor pokus.c jako stabilní verzi, nebo určenou k distribuci, platí to pouze pro tuto verzi. Jakmile soubor pokus.c změníte, a natáhnete ho do CVS, potom ho systém CVS automaticky označí zase jako experimentální. Víte tedy, která verze je jaká, a zejména pro vedoucího projektu toto dělení verzí přináší velký užitek.
Tato kapitola trochu podrobněji podává o příkazech cvs. Vzhledem k tomu, že v předcházejícím textu je již mnoho informací o různých volbách, tato kapitola podává celkový pohled na příkazy programu cvs.
Základní syntaxe při používání cvs je:
cvs globální_volby jméno_příkazu volby_příkazu
parametry
Ačkoli to vypadá složitě, tak je to jednoduché. Globální volby jsou volby, které můžete (nebo nemusíte) použít pro každý příkaz, a pro každý příkaz znamenají totéž. Potom následuje jméno příkazu, třeba commit. Dále můžete (nebo nemusíte) použít volby, které se vážou jenom k tomu příkazu, který jsme teď použili. Dále mohou následovat parametry, nejčastěji je to jméno souboru, nebo projektu.
Protože globální volby jsou stejné pro každý příkaz, vypíšeme si zde ty
najčastěji používané:
Někdy se stává, že vám dochází místo na disku. S každou zaznamenanou změnou vám narůstá velikost prostoru zabraného daty systému CVS. Jak bylo již psáno, každá změna se zaznamenává na věky věků. Pokud jste si jisti, že se již nikdy nebudete potřebovat vrátit k některým verzím, lze je ze systému CVS odmazat, a ušetřit tak něco málo diskového prostoru. Používání této možnosti záleží na vašem stylu práce a také na vašich nervech.
Osobně doporučuji ukládat do CVS verze, které jsou alespoň částečně odladěné. Pokud pracujete v týmu, je nutné, abyste do CVS nahrávali pouze funkční verze, aby vaši spolupracovníci mohli na vašich verzích stavět. Pokud jste ale sám a dáváte přednost tomu, ukládat svoji práci do CVS třeba i vícekrát denně, zejména u krátkodobých projektů, může se vám hodit možnost některé nevýznamné verze později odmazat. Ale pokud chcete znát můj názor, funkce pro odmazávání verzí raději nepoužívám, je možno jimi nadělat velký zmatek.
Pro používání funkce výmazu verzí je potřeba tedy především myslet.
Musíte si být absolutně jistí tím, co děláte. Základním příkazem pro
odmazání verzí je příkaz:
cvs admin -o číslo_verze jméno_souboru
Pokud chcete odmazat verzi 1.4 souboru budulinek.txt, provedete to
takto:
cvs admin -o 1.4 budulinek.txt
Užitečnější je odmazat verze v určitém rozsahu, například od verze 1.3
do verze 2.5. To se provede takto:
cvs admin -o 1.3::2.5 budulinek.txt
Tento příkaz dělá přesně to, že nechá verzi 1.3 a nižší, stejně tak jako verze 2.5 a vyšší, a všechny verze mezi tím odmaže.
Systém CVS toho umí mnohem více, než jsem zde popsal. Pokud vás něco o zajímá, můžete mi napsat. Také budu rád za veškeré vaše zkušenosti s CVS. Pokud se k tomu dostanu, rád bych tento manuál ještě rozšířil, takže mi napište i tehdy, pokud chcete mít k dispozici případnou další verzi.
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.