Proč používat verzování, i když na projektu pracujete sami

Obecně se má za to, že software pro správu verzí se vyplatí používat na větších projektech, neboť právě ohlídání kolizí ve změnách prováděných více programátory současně je jeho hlavní úkol.

Nicméně, verzovací systémy nabízejí i další funkce, které využijete i na projektech vyvíjených klidně jedním člověkem.

Práce na více počítačích

Verzovací systémy jsou výborné pro jednoduchou synchronizaci dat mezi různými počítači, na kterých pracujete.

Archivace všech změn

U jakéhokoliv souboru se vždy můžete vrátit k jeho libovolné verzi nebo se podívat na rozdíly mezi jeho různými verzemi. To se hodí v případech, kdy chcete zjistit, jak jste kdysi něco udělali; nebo nedejbože tehdy, kdy na něčem začnete pracovat, a pak vám dojde, že takto raději ne. Nemusíte se pak starat o to, jestli jste všechny změny dobře vrátili a jednoduše obnovíte poslední revizi.

Rychlý přístup ke starším verzím

Vždy když vydáte novou verzi, jednoduše si ji ve verzovacím systému pojmenujete (SVN tomu říká tag, ClearCase label). Kdykoliv se pak do této verze můžete přepnout a pracovat s ní, udělat její build pro zákazníka, který má s novější verzí problém apod. Rozhodně je to praktičtější, než staré verze třeba zipovat a pak pracně rozbalovat.

Vývoj na více větvích

Někdy se stane, že do programu chcete přidat nějaký větší balík funkcí. Jeho vývoj trvá třeba půl roku a mezitím chcete zákazníkům dodávat aktualizace původní verze. Co však rozhodně nechcete, aby v nich měli obsaženou část funkcí nových a byli tak ohroženi chybami a nestabilitou této vývojové verze.

V takovém případě oddělíte před započetím vývoje těchto novinek tzv. branch od hlavní verze a vývoj provadíte na této nové branchi. V případě potřeby se samozřejmě do hlavní verze můžete kdykoliv přepnout. Po odladění nové verze přenesete změny i do verze hlavní, nebo-li provedete merge.

Jsem přesvědčen, že jednoduchý systém pro správu verzí (jakým je třeba SVN), najde své opodstatnění pro nasazení na libovolném softwarovém projektu, který vám trvá víc než jedno odpoledne, nebo u kterého je pravděpodobnost, že se k němu někdy budete chtít vracet.

2 komentáře

Socialni site

Podobny pristup se ma ve firme specialne zavadet. Je divne, ze spousta lidi tomu nerozumi a resi to tak, ze uskladnuji na discich sve projekty. Dik za prinosny clanek!

Almad

Hmm, doporucil bych se podivat spis na mercurial (event git). Nemusim si zrizovat server, da se pracovat na vic pocitacich i bez netu, branchovani funguje, je to podstatne rychlejsi a mene zrave, v kazdem pocitaci mam i historii a chova se to normalne (jako, umi to prejmenovavani).

A tak ,)

Reagovat