LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> 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 26712×

Č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í:

  1. Správce verzí MŮŽETE použít na textová i binární data. V jediném projektu to dokonce obyčejně lze i mixovat.
  2. 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

pridej.cz

 

DISKUZE

Mature 23.8.2005 12:16 Lukáš Zapletal
  |- Re: Mature 23.8.2005 12:53 Petr Zajíc
  L Re: Mature 23.8.2005 14:40 Aleš Hakl
    L Re: Mature 23.8.2005 21:20 Petr Zajíc
      L Re: Mature 24.8.2005 01:11 Aleš Hakl
        L Re: Mature 24.8.2005 01:21 Aleš Hakl




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 ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze