CVS nebo SVN

U nás ve firmě používáme program Subversion. Chtěl bych vám popsat několik výhod, které nás vedly k jeho použití namísto zatím běžnějšího CVS.

  • bezpečný síťový přístup i při zápisu – pro šifrovaný spojení k CVS musíte použít tunelování přes ssh a je tedy nutné, aby uživatelé měli konzolový přístup. Rozchodit takové řešení z windows lze, ale není nejsnadnější.
  • omezení přístupu – pokud chcete omezit přístup některým uživatelům nebo zamknout větev (branch) pro zápis, musíte „opatchovat“ CVS. U SVN můžete použít integrované ACL
  • hooky – volání akcí (hooků) je jasně definované a vždy běží pod stejným uživatelem jako běží server. U CVS jsme s tím občas měli problémy.
  • výpis větví a tagů – je možné se podívat na seznam větví a je dále je i strukturovat. U CVS se musíte dotazovat na soubor, který byl ve všech verzích (a přesto nemusí obsahovat některé značky a větve) a nebo používat externí nástroje jako je např. CVSQuery.
  • commity jsou atomické – commity se uloží celé a nebo vůbec. Je možné snadno získat seznam zněnených souborů při commitu.
  • TortoiseSVN – jedná se o klienta integrovaného do windows. Ten je tak snadný na používání, že jej používá i naše obchodní oddělení a všechny dokumenty tak ukládá do SVN.
  • offline přístup – i když nejste připojeni k síti, můžete zjišťovat seznam změněných souborů, seznam změn (diff) nebo se vrátit k verzi v repository.
  • jednodušší mergování – aby jste mohli mergovat u CVS, musíte vytvořit nejen větev (branch) ale i značku (tag). To vám umožňí pozdější sloučení změn zpět. Navíc před a po každém mergování je potřeba udělat další dvě značky – jedině tak můžete dohledat seznam namergovaných změn. U SVN nic takového dělat nemusíte. Jasně vídíte, kdy byla větev vytvořena a také seznam změn, které byly udělány při merge.

    Děláme jen jednu věc – při commitu namergovaných změn přidáváme komentář „merge -r 1000:2000“ (1000 až 2000 jsou čísla verzí, které mergujete). Do příštích verzí svn slibují i lepší podporu mergování (např. automatické sledování sloučených změn)

  • použítí WebDAVu – toto je jedna z méně důležitých přesto příjemných věcí. Někteří naši zákazníci neví co to repository je. Stačí jim webový přístup k souborům v SVN. Někteří ovšem SVN používají. Pro obě tyto skupiny můžeme používat stejné URL.
  • modularita ověřování – protože SVN umí fungovat přes apache, je možné využít všechny ověřovací metody, které apache podporuje. Takže můžete ověřovat oproti passwd, LDAPu, kerberovi, databázi, … Můžete si tak sjednotit ověřování a přístup ke všem podpůrným prostředkům pro vývoj ve vaší firmě.

Jako další podpůrné nástroje používáme WebSVN, ViewSVN a vlastní „hooky“ pro propojení s bug tracking systémem.

Toto jsou mé hlavní důvody proč používat SVN.

Úžasné překlady

Dnes jsme narazili na krásný překlad. Zkuste si na debianu/ubuntu spustit příkaz apt-get. Jako poslední řádek dostanete tento text:

Tato APT má schopnosti svaté krávy.

V angličtině je zde text:

This APT has Super Cow Powers.

Další libůstkou je výstup programu dd:

0+0 vstoupivších záznamů
0+0 vystoupivších záznamů

v angličtině:

0+0 records in
0+0 records out

Skenování přes web

Nedávno jsme narazili na problém, jak skenovat soubory přes web. Tvoříme informační systém formou webové aplikace a potřebujeme skenovat velké množství dokumentů.

Řešení, kdy uživatel naskenuje dokument v nějaké aplikaci, a pak jej nahraje (tzv. uploadne) na web, je nereálná. Potřebujeme rychlé oboustranné skenování s podavačem. Uživatel se nesmí zdržovat skenováním náhledu, definicí výřezu, rozlišením a barevnou hloubkou. Už vůbec by neměl být zdržován tím, že se soubor nahrává někam na internetový server.

Proto jsme začali uvažovat o nějakém jednodušším řešení (z hlediska jednoduchosti používání).
Pokračování textu Skenování přes web