Subversion (1/3) - nástroj pro správu verzí
Nástroje pro správu verzí potřebuje dnes snad každý tým vývojářů. A jak uvidíme, nejen oni.
23.8.2005 07:00 |
Petr Zajíc
| Články autora
| přečteno 26919×
Článek o subversion prostě musím napsat. Nejenže jsem to slíbil v
konferenci, ale také jsem dostal prostor díky vynikajícímu článku
kolegy Jirky
Václavíka "Linux v
příkazech - správci verzí". Ten se o Subversion zmínil jen letmo,
protože se na něj "chystá zvláštní článek". Nuže, toto jest on.
Správci verzí
Nejprve mi však dovolte trochu teorie. Čtenáři používající správce
verzí stejně automaticky jako ledničku na chlazení piva mi prominou,
pro ostatní to budiž úvodem, který jim řekne o co kráčí. Správce verzí
je jednoduše řečeno systém, který umožní administrovat "více různých
varinat něčeho". Navíc umožní, aby se v "něčem" vrtalo více lidí
najednou s minimáními důsledky na schopnost toho "něčeho" i nadále
fungovat.
Tím "něčím" bývá typicky zdrojový kód programu, ale není to nutné.
Správce verzí můžete potřebovat kdykoli, kdy pracujete se souborem nebo
soubory, jež se dají nějak smysluplně verzovat. To pro mého tchána
skládajícího na počítači hudbu například znamená, že systém pro správu
verzí může použít na různé remaky nebo arange svých písní; pro
sekretářku to může znamenat ukládání verzí šablon či dokumentů a tak
dále. První mýtus, který bych rád vyvrátil tedy je: Verzovací systém se
dá použít i NA JINÉ VĚCI než jen na správu kódu.
Další oblíbenou fámou v souvislosti se správci kódu je to, že se
tvrdí, že nasazení takového systému má význam pouze v případě, kdy na
projektu pracuje mnoho lidí. Skutečnost je ta, že si můžete verzovat I
PRÁCI JEDINÉHO ČLOVĚKA. Tak například zdrojový kód všeho mého software
je takto spravován i přesto, že jsem jej třeba vyvíjel sám bez účasti
jiných vývojářů. Mohu tak
přesně vědět, v jakém stavu se práce nacházela před pěti měsíci, nebo
kolik změn se na daném souboru provedlo v posledních třech verzích. Na
druhou stranu je pravda, že se vzrůstajícím množstvím "lidí na
projektu" vzrůstá i potřeba nějakého smysluplného verzování.
A konečně bych rád upřesnil dvě další věci, které se občas v
souvislosti se systémy na správu kódu přetřásají:
- Správce verzí MŮŽETE použít na textová i binární data. V jediném
projektu to dokonce obyčejně lze i mixovat.
- Správce verzí lze v drtivé většině případů (možná ve všech)
nasadit v síťovém prostředí. Včetně sítě internet. Což, jak asi všichni
chápou, může znamenat, že lze se správci verzí pracovat mezi
geograficky vzdálenými místy.
Něco pojmů
Abychom si ve zbytku této minisérie rozuměli, připravil jsem pro vás
malý slovníček pojmů. Některá hesla platí napříč systémy pro správu
verzí obecně, jiná jsem definoval s přihlédnutím k tomu, jak se
používají ve správci Subversion:
- Projekt - to, co chceme verzovat. Třeba zdrojový kód, dokument a
podobně. Představte si jej pro jednoduchost jako adresář.
- Úložiště (repository) - to je prostor obsahující všechny verze
projektu plus nějaká ta metadata. Úložiště má formát, který určuje jeho vlastnosti. Může se jednat o
nějakou složku na serveru nebo o kus databáze.
- Checkout - postup, při kterém si stáhnete z úložiště aktuální
(nebo nějakou jinou) verzi projektu, abyste na ní mohli pracovat.
- Commit - postup, při němž uložíte svou verzi projektu do úložiště.
- Konflikt verzí - stav, k němuž může dojít, pokud dva nebo více
commitů změnilo stejný soubor.
- Server - v tomto kontextu se jedná buď o stroj, na němž je
umístěno úložiště, nebo o software, který úložiště spravuje (provádí
checkouty a commity, řeší konflikty a podobně). Protože konkrétně
Subversion může úzce spolupracovat rovněž s webovým serverem (typicky
Apache), může být použitím slova "subversion server" myšlen i webový
server zprostředkovávající vzdálený přístup k úložišti pomocí http(s).
- Klient - počítač, na němž běží pracovní verze projektu. (Ta se
při ukončení práce obvykle ukládá na server).
To by prozatím stačilo, další pojmy budeme vysvětlovat tak, jak se k
nim budeme v průběhu času dostávat.
Subversion
Na tomto místě by se asi slušelo říci ještě něco o hostorii systémů
pro
správu verzí, ale to bych se často křížil se zmiňovaným článkem Jirky
Václavíka. Fakt je, že místo určité legendy mezi těmito systémy zaujímá
CVS. A fakt rovněž je, že
tento systém trpí jistými neduhy, které přímo volají po něčem dalším.
CVS se i dnes dost používá (přinejmenším díky své rozšířenosti a počtu
nástrojů, jimiž disponuje), ale existuje řada projektů, které si daly
za cíl napsat podobnou věc, ale s méně omezeními.
Mezi těmito projekty již nějakou dobu vyniká Subversion. Tahle aktivně
vyvíjená věcička je poslední dobou dost vidět, a protože ji sám
používám, rád se s Vámi rozdělím o svoje postřehy a zkušenosti.
Subversion je systém pro správu kódu vyvíjený pod licencí ve
stylu Apache a je schopný fungovat pod systémy Unix, OS/2, MacOS X
a Win32. Což zahrnuje pochopitelně i všechny systémy GNU-Linux.
Subversion má možnost pracovat se dvěma typy úložišť, kde jedno je
databázové a druhé souborové. Dokumentace k subversion je
reprezentována hlavně vynikající knihou Subversion book.
V ní se lze dozvědět vše potřebné a je to hezky utříděné. V sekci
věnované odkazům
na stránce projektu můžete najít hezká udělátka - konvertory úložišť,
grafické klienty a tak dále. Ve srovnání s CVS je sice souvisejících
programů méně, ale svou funkci plní většinou dobře.
Vyjmenovávat všechny výhody a nevýhody Subversion (nebo je srovnávat
s "konkurenčními" systémy) se mi nechce - už to udělali jiní. Zájemce
bych odkázal na dlouhý a vyčerpávající přehled zde.
(Pokud ale nejste v těchto věcech zběhlí, článek Vám moc neřekne.) Při
přechodu z jednoho systému správce verzí na jiný se musí zvážit mnoho
věcí - od času až po náklady. Veselejší je to u nových projektů - tam
lze nasadit systém prakticky jakýkoli. My se budeme nadále zabývat již
jen Subversion.
Instalujeme Subversion
Pozn.: Subversion můžete
nainstalovat rovněž na systémy Windows. Rozebírat to tady nebudeme, ale
je dobré vědět, že i na Windows Subversion pracuje. Když se totiž někdo
bude rozhodovat o přechodu z Windows na Linux, může si to usnadnit tím,
že použije nástroje fungující na obou systémech. Subversion se k této
filozofii hlásí - hrdě a právem.
Instalovat Subversion na desktop s Fedorou 4 je opravdu hračka.
Pokud to chcete udělat, stačí napsat něco jako
yum install subversion
a instalátor se postará o vše potřebné. Pokud si chcete RPM stáhnout
sami, můžete s hledáním začít třeba v Dagově repozitáři.
Poměrně přehledná stránka downloadů
projektu Subversion popisuje umístění souborů pro instalaci na jiné
systémy. Pokud po tom toužíte, můžete si Subversion i zkompilovat ze zdrojových
kódů. Tak či tak byste při instalaci na Linux neměli mít výraznější
problémy (pokud ano, napište do diskuse pod článkem).
To, že Subversion máte v systému nainstalovánu, zjistíte jednoduše
pomocí následujícího příkazu:
svn --version
Ten by měl vrátit verzi nainstalovaného systému subversion a rovněž
informace o některých modulech, které snad bude tento systém používat.
V současné době je ostrá verze číslo 1.2.1. Příště se podíváme na to,
jak se subversion pracovat. Protože jsme v linuxu, ukážu vám, že
většinu práce při správě verzí můžete udělat z příkazové řádky.
Verze pro tisk
|
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
28.11.2018 23:56 /František Kučera Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1
12.11.2018 21:28 /Redakce Linuxsoft.cz 22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář
6.11.2018 2:04 /František Kučera Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
4.10.2018 21:30 /Ondřej Čečák LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář
18.9.2018 23:30 /František Kučera Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář
9.9.2018 14:15 /Redakce Linuxsoft.cz 20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business.
Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář
12.8.2018 16:58 /František Kučera Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář
16.7.2018 1:05 /František Kučera Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář
Více ...
Přidat zprávičku
 Poslední diskuze
31.7.2023 14:13 /
Linda Graham iPhone Services
30.11.2022 9:32 /
Kyle McDermott Hosting download unavailable
13.12.2018 10:57 /
Jan Mareš Re: zavináč
2.12.2018 23:56 /
František Kučera Sraz
5.10.2018 17:12 /
Jakub Kuljovsky Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?
Více ...
|