Tento článek vyšel před 17 lety. Můžete si jej přečíst v rámci zkoumání minulosti, ale přepokládejte, že dnes se Honza již nemusí s obsahem ztotožňovat.
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.
V 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.