svn

SVN (Apache Subversion)

SVN (Subversion) je centralizovaný systém správy verzí (VCS (Version Control System)). Slouží k ukládání a sledování změn ve zdrojových kódech, dokumentaci a jiných souborech. Na rozdíl od modernějších distribuovaných systémů (jako je Git) sází SVN na model „jednoho centrálního úložiště“ (Single Source of Truth).

V naší digitální architektuře SVN stále využíváme pro údržbu starších (legacy) systémů a pro ukládání velmi rozsáhlých binárních souborů (např. grafické podklady v TIFF (Tagged Image File Format)), kde je centralizovaná správa výhodnější.

Architektura a princip fungování

SVN využívá model Client-Server:

  • Server: Hostuje centrální databázi (repository) se všemi verzemi souborů. V naší síti běží typicky na VPS (Virtual Private Server) s operačním systémem Linux.
  • Klient: Vývojář si „vytáhne“ (Checkout) pracovní kopii souborů na svůj lokální stroj, provede změny a následně je „odevzdá“ (Commit) zpět na server.

Klíčové operace v SVN

  • Checkout: Stažení nejnovější verze projektu z VPC (Virtual Private Cloud) serveru.
  • Update: Aktualizace lokální kopie o změny, které mezitím provedli kolegové.
  • Commit: Odeslání vlastních změn do centrálního úložiště (vyžaduje zadání popisu změny, který se propisuje do systému Jira).
  • Revert: Vrácení souboru do stavu před úpravami, pokud se objeví chyba.

Výhody a nevýhody v kontextu [[ZIF]]

Vlastnost Výhoda / Nevýhoda Popis
Centralizace Výhoda Snadná kontrola přístupových práv přes UID (Unique Identifier).
Zamykání souborů Výhoda Ideální pro binární data (TIFF (Tagged Image File Format), PDF), kde nelze automaticky slučovat změny.
Závislost na síti Nevýhoda Pro commit nebo prohlížení historie je nutné připojení k WAN (Wide Area Network).
Rychlost Nevýhoda Operace s historií jsou pomalejší než u distribuovaných systémů.

Bezpečnost a správa

V rámci kybernetické bezpečnosti uplatňujeme pro SVN tato pravidla:

  • Šifrování: Přístup k SVN je povolen výhradně přes protokol HTTPS (využívající SSH (Secure Shell)) nebo skrze tunel SSH (Secure Shell).
  • Zálohování: Centrální repository je každodenně zálohováno, aby nedošlo ke ztrátě historie vývoje.
  • Audit: Každý commit je logován a musí být spárován s existujícím úkolem v systému Jira.
Doporučení pro vývojáře: Pokud začínáte nový projekt, který se skládá primárně z textových zdrojových kódů, zvažte použití Gitu. SVN používejte pouze v případě, že pracujete na stávajícím projektu nebo potřebujete spravovat objemná data, která by zpomalovala distribuované systémy.

Související stránky: ZIF (Základní informační faktory), VCS (Version Control System), Vývojový tým, VPS (Virtual Private Server), TUX (Linux Mascot), VPC (Virtual Private Cloud), WAN (Wide Area Network), UID (Unique Identifier), SSH (Secure Shell), SSH (Secure Shell), Jira, TIFF (Tagged Image File Format)

svn.txt · Poslední úprava: autor: admin