Subversion přišlo, vidělo, zvítězilo

Autor: Ludvík (mailto:ludvik@khnet.info), Téma: Software
Vydáno dne 13. 06. 2007 (10801 přečtení)




Kolegové programátoři, používáte nějaký systém pro správu verzí vašich výtvorů? Nevíte co to je? Chtěli byste se na něco zeptat, ale nevíte na co?
Je-li alespoň jedna odpověď ano, čtěte dále ...

Předem upozorňuji, že jsem stále v tomto oboru začátečníkem ... tak na to pozor.

Už dlouho jsem nadával na způsob vývoje mých projektů. Znáte to, někde nějaký adresář s pracovními kopiemi, po provedení změn upload na testovací místo a po otestování přesun do provozu. V lepším případě testovací místo = pracovní místo.
Za týden se zjistí nějaká chybka, která se začala projevovat až po nějaké nesouvisející změně ... co s tím? Není-li projekt velký a pracuje na ní jenom jeden člověk, nalezení a opravení je vlastně hračka. Pokud více lidí, je to prakticky nemožné ...
Jak zálohujete? Občas zabalení do ZIPu a vypálení CD? Nebo v lepším případě automaticky? Oba způsoby mají své nevýhody ... hlavně ty, že není žádná extra kontrola a evidence, co který archív obsahuje ...

Těchto několik nastíněných problémů řeší systémy pro správu verzí. O concurent version system (CVS) nebo Subversion (SVN) či dokonce SourceSafe jste určitě slyšeli. Ale netroufli jste se ho použít. Nebudu nic nalhávat - to byl můj případ. Až poslední dobou mě okolnosti donutili. A sáhnul jsem právě po Subversion.

Základní princip práce je poměrně jednoduchý: programujete si (nebo děláte co se vám se soubory zlíbí) jak jste zvyklí doposud. Nic vás neomezuje - vše je u vás na disku. Po základním otestování provedených změn je potvrdíte (doslova commit). Změnovky se odešlou na server, vytvoří se nové číslo revize a od té chvíle máte možnost se k této verzi libovolně vracet. Vytvoříte něco, čemu se říká stable release? Aktuální vývojovou revizi pár klikama myší zkopírujete někam vedle (stále se bavíme o serveru) a opět: máte ji zakonzervovanou navždy. Jednou z výhod subversion je udržování pouze naprosto nejnutnějších dat na serveru - ta kopie ve skutečnosti vytvoří pouze odkazy a fyzická kopie souboru se provede až se skutečně změní "originál". A i tak jsou ukládány pouze rozdílové údaje ... Náročnost na diskový prostor je překvapivě malá (pokud teda nebudete verzovat galerii obrázků z dovolené).

Nemám v úmyslu popisovat všechny vlastnosti systému, to nechám na vás a na vašem studiu dokumentace. Ale co je nejdůležitější - nabízím použití serveru KHnetu! Jaké jsou podmínky? Moc jich není: být členem khnetu, poslat meilík s jménem a heslem které budete používat a nepřehánět to s objemem verzovaných dat (lze "do toho hodit" cokoliv). Vyhrazuji si právo objem kontrolovat a případně i účet zrušit. Přeci jenom ... kapacita není neomezená.

Zálohování subversion repository zatím vyřešeno nemám, takže na to nespoléhejte ... pracovní kopii si chraňte stále tak jak jste zvyklí. Ale vzhledem k tomu, že tam mám svoje věci, tak to zanedlouho zprovozním. Datové úložiště je hardwarový RAID10 (SATA) se dvěma hotspare disky, cache paměť (128M) řadiče je zálohovaná baterčičou a celý server je na UPSce. Spolehlivost je snad na dobré úrovni ...

update: zálohování existuje ... 



Odkazy ke studiu (anglicky):
Subversion dokumentace
Velice dobrá kniha
Prima klient integrovaný do windows exploreru. Jeho nápověda je také dost důkladná a poučná
Klient z jiného soudku
Seznámení se Subversion (česky)
Informace, odkazy
Stručný návod (česky)
Seriálek na abclinuxu