Obsah
Odkazy:
Jakmile naše programátorské pokusy překročí velmi jednoduché školní příklady, a začněme psát něco pro praktické použití, ocitneme se před otázkou jak udržovat zdrojový kód. Pod údržbou zdrojového kódu rozumím archivaci a rozlišení jednotlivých verzí, jakož to i minimální dokumentaci o těchto verzích. V praxi se nám stane že dostaneme informaci o chybě která se projevuje v starší verzi programu a my stojíme před otázkou kde a co opravit.
Nejprimitivnější způsob správy zdrojového porgramu je prostě daný zdrojový kód celý zazálohovat. Můžeme tak činit podle čísla verze, jestli je používáme a udržujeme, nebo podle data.
$
cdprojekt
/..$
tar cf -projekt
|bzip2 --best >projekt.2007-09-16.tar.bz$
# nebo$
tar cf -projekt
|bzip2 --best >projekt.číslo-verze
.tar.bz
Vytvořený zkomprimovaný balíček si pak uložíme třeba do archivu.
$
mv projekt.číslo-verze-nebo-datum
.tar.bz2 $HOME/archiv/
Pokud používáme program make, můžeme v makefile
definovat cíl archivuj
.
archivuj: cd ..; tar cf - $(PROJEKT) | bzip2 --best >$(ARCHIV)/$(PROJEKT).`date +%F`.tar.bz
Proměnná $(PROJEKT)
obsahuje název projektu a proměnná $(ARCHIV)
pak adresář do kterého se zapisují archivní verze.
Takovýto způsob správy zdrojových kódů je ovšem značně primitivní, má velké nároky na diskový prostor a velmi špatně se v něm orientuje. Proto již v ranných dobách vznikl první systém správy verzí, SCCS. Takovýto systém sleduje samotné změny ve zdrojovém kódu a umožňuje nám říci jak se tento měnil v čase, rozumějte mezi jednotlivými verzemi.
Systém správy verzí je program, či spíše skupina programů, která umožňuje zaznamenat a sledovat celou historii změn ve sdrojových souborech.
UNIX nebyl jediným operačním systémem a SCCS zcela jistě nebyl prvním programem svého druhu. Ale programy jenž nejsou běžně dostupné na Linuxu/UNIXu nejsou předmětem tohoto dokumentu.
Systém správy verzí je program, či spíše skupina programů, které umožňují zaznamenat celou historii zdrojových souborů. Tedy zaznamenat všechny změny kterými soubory prošly s možností získat kteroukoliv revizi těchto souborů. Můžeme se tak podívat, jaký byl obsah zdrojových souborů před měsícem, nebo před nějakou důležitou změnou, jakožto si i vyjet rozdíly mezi jednotlivými revizemi.