V tomto článku prozkoumáme Apache Subversion do hloubky a vše, co toto téma obnáší. Apache Subversion je téma, které si zaslouží, aby bylo analyzováno z různých úhlů pohledu, od jeho počátků až po jeho aktuální současnost, přes jeho důsledky v různých oblastech. Během několika následujících řádků se ponoříme do nejdůležitějších aspektů Apache Subversion, odhalíme jeho možné dopady a nabídneme globální vizi tohoto tématu. Ať už jste obeznámeni s Apache Subversion nebo jste v tomto tématu noví, tento článek si klade za cíl nabídnout úplný a aktuální pohled na tuto problematiku a zve vás k zamyšlení a lepšímu porozumění Apache Subversion.
![]() | |
Vývojář | Apache Software Foundation |
---|---|
První vydání | 20. října 2000 |
Aktuální verze | 1.14.5 (8. prosince 2024) |
Operační systém | GNU/Linux Microsoft Windows macOS BSD UN*X AIX HP-UX Solaris BeOS OS/2 |
Vyvíjeno v | C, Python, C++, Java, Ruby a Perl |
Typ softwaru | centralized version control system, Apache Software Foundation project, svobodný software a otevřený software |
Licence | Apache License, Version 2.0 |
Web | subversion |
Některá data mohou pocházet z datové položky. |
Apache Subversion (dříve Subversion[1] – zkráceně SVN) je systém pro správu a verzování zdrojových kódů, náhrada za starší CVS. Snaží se zachovat podobný způsob a styl práce, ale odstranit nedostatky CVS jako například nemožnost přesunu nebo kopírování adresářů, časová a prostorová náročnost větvení a tagování a podobně.
Jednou z výhod systému Subversion je existence velmi dobré dokumentace (zatím v angličtině) – nazývá se Version Control with Subversion a je volně dostupná (viz odkazy). Další je existence více přístupových metod k repozitáři. Subversion je, tak jako CVS, založeno na principu centrálního repozitáře.
Subversion patří do kategorie version control nástrojů a uspokojuje základní potřeby při správě verzí. Je vyvíjen firmou CollabNet, Inc. a je šířen pod licencí, která umožňuje jeho bezplatné komerční použití, k dispozici jsou zdrojové kódy.
Důvodem jeho vzniku je snaha o nahrazení jiného velmi používaného systému, zvláště ve světě open source, CVS. Zčásti je Subversion systémem CVS inspirován, bere si z něj některé jeho vlastnosti, je však mnohem flexibilnější a jeho používání je snazší.
Lze ho provozovat na mnoha platformách, včetně Windows.
Skládá se ze dvou hlavních částí – klientská část a serverová.
Klientská část poskytuje nástroje pro práci s verzemi přímo v pracovním adresáři a komunikaci se serverovou částí, která se stará o repository (centrální úložiště).
K repository lze přistupovat různými způsoby (lokálně, přes nativní protokol svn://, DAV). Existuje několik klientských nástrojů, od příkazového řádku, přes webové rozhraní až po nástroje integrované do GUI operačního systému. Záleží na tom, co kterému uživateli vyhovuje nejvíce.
Následuje příklad, jak probíhá správa verzí pomocí SVN. Předpokládejme, že je již v repository importovaný projekt, jedná se o zjednodušený proces, kdy požadavky jsou vyvíjeny za sebou, nikoliv paralelně.
Z mnoha důvodu je třeba repository vhodným způsobem organizovat, pro organizování repository slouží větve. Vzhledem ke flexibilitě, kterou poskytuje díky konceptu cheap-copy, umožňuje Subversion měnit repository v souladu s aktuálně se měnícími požadavky.
Existuje několik osvědčených způsobů, jak repository v Subversion organizovat, záleží vždy na způsobu, jakým se daný projekt vyvíjí.