LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

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

Č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ů

14.11.2017 16:56 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tradičně první čtvrtek před třetím pátkem v měsíci: 16. listopadu od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.11.2017 11:06 /Redakce Linuxsoft.cz
PR: 4. ročník odborné IT konference na téma Datová centra pro business proběhne již ve čtvrtek 23. listopadu 2017 v konferenčním centru Vavruška, v paláci Charitas, Karlovo náměstí 5, Praha 2 (u metra Karlovo náměstí) od 9:00. Konference o návrhu, budování, správě a efektivním využívání datových center nabídne odpovědi na aktuální a často řešené otázky, např Jaké jsou aktuální trendy v oblasti datových center a jak je využít pro vlastní prospěch? Jak zajistit pro firmu či jinou organizaci odpovídající služby datových center? Podle jakých kritérií vybrat dodavatele služeb? Jak volit součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně spravovat datové centrum? Jak eliminovat možná rizika? apod.
Přidat komentář

13.9.2017 8:00 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt – tentokrát netradičně v pondělí: 18. září od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

3.9.2017 20:45 /Redakce Linuxsoft.cz
PR: Dne 21. září 2017 proběhne v Praze konference "Mobilní řešení pro business". Hlavní tématy konference budou: nejnovější trendy v oblasti mobilních řešení pro firmy, efektivní využití mobilních zařízení, bezpečnostní rizika a řešení pro jejich omezení, správa mobilních zařízení ve firmách a další.
Přidat komentář

15.5.2017 23:50 /František Kučera
Máš rád svobodný software a hardware nebo se o nich chceš něco dozvědět? Zajímá tě DIY, CNC, SDR nebo morseovka? Přijď na sraz spolku OpenAlt, který se bude konat ve čtvrtek 18. května od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

12.5.2017 16:42 /Honza Javorek
PyCon CZ, česká konference o programovacím jazyce Python, se po dvou úspěšných ročnících v Brně bude letos konat v Praze, a to 8. až 10. června. Na konferenci letos zavítá např. i Armin Ronacher, známý především jako autor frameworku Flask, šablon Jinja2/Twig, a dalších projektů. Těšit se můžete na přednášky o datové analytice, tvorbě webu, testování, tvorbě API, učení a mentorování programování, přednášky o rozvoji komunity, o použití Pythonu ve vědě nebo k ovládání nejrůznějších zařízení (MicroPython). Na vlastní prsty si můžete na workshopech vyzkoušet postavit Pythonem ovládaného robota, naučit se učit šestileté děti programovat, efektivně testovat nebo si v Pythonu pohrát s kartografickým materiálem. Kupujte lístky, dokud jsou.
Přidat komentář

2.5.2017 9:20 /Eva Rázgová
Putovní konference československé Drupal komunity "DrupalCamp Československo" se tentokrát koná 27. 5.2017 na VUT FIT v Brně. Můžete načerpat a vyměnit si zkušenosti z oblasti Drupalu 7 a 8, UX, SEO, managementu týmového vývoje, využití Dockeru pro Drupal a dalších. Vítáni jsou nováčci i experti. Akci pořádají Slovenská Drupal Asociácia a česká Asociace pro Drupal. Registrace na webu .
Přidat komentář

1.5.2017 20:31 /Pavel `Goldenfish' Kysilka
PR: 25.5.2017 proběhne v Praze konference na téma Firemní informační systémy. Hlavními tématy jsou: Informační systémy s vlastní inteligencí, efektivní práce s dokumenty, mobilní přístup k datům nebo využívání cloudu.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

5.12.2017 11:50 / Thomas
kitchen renovations

18.9.2017 14:37 / Rojas
high security vault

15.9.2017 7:33 / Wilson
new zealand childcare jobs

31.8.2017 12:11 / Jaromir Obr
Re: ukůládání dat ze souboru

30.7.2017 11:12 / Jaromir Obr
Národní znaky

Více ...

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