CVS - IV

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 7218×

Stavy verzí souborů

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.


Základní syntaxe příkazů CVS

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é:


Pro odvážné - mazání verzí

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.


Závěr

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.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1740