Jak na CVS

Návod jak rozběhat CVS repository na Windows. Jde to i na Linuxu, ale nikdy jsem to nedělal. Popravdě, toto byla trochu zvrhlá věta, protože pro CVS jsou unixové systémy nativní platformou. Nehledejte zde co je to CVS. Návod není ani o používání CVS – je o instalaci služeb do systému, aby se mohly používat.

První kroky

Protože CVS je primárně pro jiné OS než Windows, uchýlíme se k CVSNT. To je rozšíření CVS, jež lze instalovat i na Windows. Na stránkách projektu se přes free download proklikáme ke stažení instalace. Instalační cvsnt-verze.msi spustíme typický klikací průvodce instalací, kde by nemělo dojít k žádným složitostem (klikat na next umí i nesmažený hermelín).

Nainstalováno. Co teď? CVS bude používat pro svou práci nějaký port. Zřejmě zůstanete u standardního 2401. Musíte jej povolit ve firewallu.

Control Panel a vytvoření repository

Koukněte do Start menu a najděte nově nainstalovanou složku s CVSNT. Je tam CVSNT Control Panel. Dosti užitečné GUI, které hned využijeme. Hned na první záložce je možnost vypínat a spouštět obě CVS služby. Na záložce s Repository configuration můžete spravovat úložiště dat (či jak to nazvat). V Location vyberte cestu k nově zřizovanému repository. Repository je serverová část CVS, místo, kam si CVS ukládá údaje o změnách v souborech vašich projektů. Cestu volte nějak rozumně, třeba D:/wrk/cvs.

Server settings záložce bych sice nic za normálních okolností neměnil, ale pokud z různých firewallových důvodů nemůžete využít výchozí port pro CVS, zde jej můžete upravit. Relevantní je CVS server port, ten druhý měnit netřeba.

Uživatelé

Já osobně využívám CVSNT na jednom počítači jako server i klient a tím se řídí můj návod. Pokud to potřebujete jinak, musíte se s tím nějak poprat. CVSNT při tomto mém nastavení využívá uživatelské účty ve Windows.

Ve složce, kam jsme umístili repository se vytvořil adresář CVSROOT. Zde je milion souborů, které není radno editovat a pár souborů, jejichž editace může mít docela vlídné následky :) . Např. soubor admin definuje administrátory repository. Na každém řádku má být jméno administrátora, takže tam přidejte název svého Windows účtu (u mě soubor obsahuje dvě písmena, a to lm).

Pak v příkazové řádce Windows zadejte

set CVSROOT=:pserver:adminlogin@localhost:/cvs

nebo, pokud jste měnili port,

set CVSROOT=:pserver:adminlogin@localhost:0000:/cvs

Místo adminlogin pište svůj administrátorský login (já lm), místo 0000 svůj port a místo /cvs název repository (ten vypisuje Control Panel v přehledu repositories v prvním sloupci tabulky). Pak už si můžete hrát s účty (přidávat a měnit hesla):

cvs passwd -a nejakylogin

Zeptá se na nové heslo, to zašifruje a spolu s loginem plácne do souboru passwd v CVSROOT. Dále domapujeme uživatele Windows k CVS a to poeditováním passwd do následující podoby:

<login>:<heslo>:<windows user>

Je hotovo. Teď už se jen připojit. Na všechno jsou příkazy v CLI, ale zkušenější člověk se s tím nemusí párat a může poeditovat nějaký ten soubor ručně, když k tomu má přístup nevzdáleně a ví co dělá. Akorát heslo je třeba tvořit přes příkazovou řádku, protože se šifruje.

Vzdálený přístup pro kolegy

Protože je provázanost mezi uživateli vašeho systému a CVS, vytvořte si lokálního fiktivního uživatele ve Windows, např. cvsuser nebo cvs. Nemusí se k němu jít ani přihlásit, měl by mít omezená práva apod. Jinak se s tím zápasí pod Windows XP Proffesional (je na to GUI) a jinak pod Windows XP Home (buď necháte jako běžného usera, nebo nakonfigurujete přes CLI stejně jako byste to dělali v Proffesional přes GUI), ale jde to všude. Na tohoto uživatele můžeme mapovat všechny spolupracovníky.

Uživatele pak přidáte úplně stejně jako výše, akorát jej namapujete v passwd na Windows fiktivního uživatele pro cvs. Kolega se pak připojí nějak takto:

:pserver:jehoskvelylogin@vaseipadresa:port:repository

Například:

:pserver:karkulka@0.255.0.255:/work/cvs

a musíte mu samozřejmě napsat i přidělené heslo. Místo IP můžete použít i DNS adresu, pokud nějakou máte.

конец

Tak milé děti, konec! Teď už můžete vyvíjet pod CVS. A já si jdu hrát s SVN ;) . Za spolupráci na operaci a za trpělivost budiž položen dík brašulemu.