abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 18:55 | Komunita

NHSbuntu (Joinup, prezentace) měla být z Ubuntu vycházející linuxová distribuce přizpůsobená pro potřeby britské Národní zdravotní služby (NHS). NHS se název nelíbil, nejednalo se o oficiální projekt NHS, a proto bylo NHSbuntu v září loňského roku přejmenováno na NHoS. Vývojáři NHoS tento týden oznámili, že NHS se nelíbí ani název NHoS a už nemají sílu na další přejmenování a pokračování v projektu. Dodávají, že několik jednání s vedením

… více »
Ladislav Hagara | Komentářů: 0
dnes 18:44 | Pozvánky

Koncem ledna, 29. 1. 2018 od 17 do 20 hodin se v Akademii CZ.NIC uskuteční večer s Turrisem.

Co bude na programu?… více »
Miška | Komentářů: 0
dnes 18:33 | Pozvánky

Na tri dni sa hlavné mesto Slovenska po tretíkrát zmení na miesto s najväčšou koncentráciou profesionálnych programátorov, systémových administrátorov, učiteľov informatiky aj technologických nadšencov. Hlavným lákadlom bude konferencia PyCon SK 2018, určená záujemcom o Python, jeden z najpopulárnejších programovacích jazykov na svete.

… více »
RicCo386 | Komentářů: 0
dnes 18:22 | Pozvánky

Letošní ročník konference Prague PostgreSQL Developer Day se koná ve dnech 14. 2. a 15. 2. 2018. Zveřejněn byl program s přednáškami a školeními. Otevřena byla také registrace na konferenci.

TomasVondra | Komentářů: 0
dnes 11:33 | Komunita

Společnost Canonical stojící za linuxovou distribucí Ubuntu oznámila dostupnost nástroje pro týmovou spolupráci Slack (Wikipedie) ve formátu snap. Instalovat jej lze ze Snapcraftu. Slack pro Linux je dostupný také ve formátu klasických balíčků pro Ubuntu a Fedoru.

Ladislav Hagara | Komentářů: 8
včera 17:33 | Nová verze

Po roce vývoje od vydání verze 2.0 a 6 000 změnách byla vydána nová stabilní verze 3.0 softwaru, který vytváří aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem, Wine (Wikipedie). Z novinek lze zdůraznit například podporu Direct3D 10 a 11. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 14
včera 13:44 | Zajímavý projekt

V říjnu loňského roku úspěšně skončila kampaň na podporu chytrého telefonu Librem 5, jenž by měl respektovat bezpečnost, svobodu a soukromí uživatelů. Společnost Purism informuje o aktuálním vývoji tohoto telefonu. Místo plánovaného SoC i.MX6 by měl být použit úspornější i.MX8.

Ladislav Hagara | Komentářů: 3
včera 12:33 | Zajímavý projekt

V květnu loňského roku měl na YouTube premiéru krátký animovaný film Agent 327: Operation Barbershop. Blender Animation Studio včera zveřejnilo alternativní konec tohoto filmu.

Ladislav Hagara | Komentářů: 0
včera 05:55 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno bylo celkově 237 bezpečnostních chyb. V Oracle Java SE je například opraveno 21 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 18 z nich. V Oracle MySQL je opraveno 25 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 6 z nich.

Ladislav Hagara | Komentářů: 0
17.1. 20:55 | Komunita

Linux ve VirtualBoxu nebude potřebovat Přídavky pro hosta (Guest Additions). Budou součástí linuxového jádra. Ovladač vboxguest by se měl dostat do Linuxu 4.16. Ovladač vboxsf by měl následovat.

Ladislav Hagara | Komentářů: 24
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (7%)
 (1%)
 (1%)
 (1%)
 (77%)
 (13%)
Celkem 1336 hlasů
 Komentářů: 53, poslední 17.1. 16:55
    Rozcestník

    Jak spravovat software pomocí Subversion - I

    13. 2. 2004 | Ondřej Zloský | Programování | 40808×

    Hledáte způsob jak udržovat svůj software? Umíte s CVS a nechcete se učit nic moc nového? BitKeeper vás neláká a Arch vám přijde složitý? Tak zkuste Subversion.

    Něco málo o samotné Subversion

    Subversion je nástroj pro správu verzí software. Je to přímý konkurent CVS, kterou jistě všichni velmi dobře znají. Snaží se implementovat většinu funkcí z CVS, dokonce i podobně ovládaných, ale je napsána kompletně od nuly s důrazem na odstranění některých nedostatků CVS. Licence Subversion je stejná jako "Apache Software Foundation license" s tím rozdílem, že vlastníkem autorských práv je firma CollabNet. Je tedy možné ji volně používat a zdrojové kódy jsou samozřejmě k dispozici.

    Jak možná někteří tuší, již velmi brzo vyjde první oficiální verze Subversion. Verze 1.0 by měla vyjít 23. února. Termín se samozřejmě může lehce změnit, ale podle mých zkušeností tým okolo Subversion termíny opravdu dodržuje. Vydání verze 1.0 nasvědčuje i fakt, že koncem loňského roku byla z verze 0.35 udělána "beta verze"(1.0 stabilization) a koncem ledna se verze 0.37 stala prvním "release candidate".

    Hlavní přednosti a vlastnosti

    Ze seznamu, který je na domovské stránce Subversion, vyberu jen ty podle mého názoru nejzajímavější:

    • zachovává většinu hlavních funkcí CVS a pokud je to možné, používá i podobné ovládání
    • veškeré změny zvyšují verzi, tj. nejen změna obsahu souboru, ale i přejmenování, přesunutí, změna na metadatech, ...
    • síťovým serverem pro přístup k repository (= repozitář) může být webový server Apache a pro přístup přes http je použit WebDAV/DeltaV protocol
    • je možné přistupovat i přes samostatný Subversion server (podobně jako u CVS) nebo třeba jen lokálně bez jakéhokoli serveru
    • zasílání diff (rozdílů mezi soubory) v obou směrech, CVS posílá diff pouze od serveru ke klientovi, obráceně posílá vždy celé soubory
    • podpora pro výběr libovolného diff programu, pokud se používá Subversion pro ukládání specifických souborů, kde textový diff spíše mate než pomáhá (např. xmldiff, zdiff, ..)
    • a nejdůležitější a pro spoustu lidí matoucí vlastnost nakonec - Subversion neudržuje verze každému souboru zvlášť, ale udržuje jedno číslo verze pro celou repository!

    K poslednímu bodu raději podám bližší vysvětlení. Tato vlastnost vychází z myšlenky, že uživatele příliš nezajímá v jaké verzi je který soubor, ale v jaké verzi se nachází celá repository nebo jak vypadal soubor ve verzi programu xxx. Logy se tedy neukládají ke každému souboru zvlášť, ale je jeden log pro každou verzi. Z toho plyne, že číslování verzí je u Subversion poněkud rychlejší než u CVS, protože jakákoli změna na libovolném souboru zvedne číslo verze u všech ostatních, tedy i nezměněných.

    Například samotná Subversion je dnes ve verzi 8578, přičemž poslední změna proběhla na jediném souboru z jedné kapitoly dokumentace. Nebo třeba soubor LICENSE byl podle logů za celou dobu vývoje změněn celkem pouze šestkrát, a přesto má také číslo verze 8578. Tento způsob verzování má své zastánce, ale samozřejmě i odpůrce. Někde se to hodí více, někdě méně, může se nám to líbit, ale také nemusí, a to je tak všechno, co s tím můžeme udělat (tm).

    Instalace

    Nejjednoduší a s největší pravděpodobností úspěchu je instalace z binárních balíků. Na stránkách projektu je možné najít balíky takřka pro libovolný systém. Jmenovitě - RedHat, Fedora, Debian, SuSE, [Free|Net|Open]BSD, ale i Mac OS X nebo Windows. Vzhledem k tomu, že Subversion je stále ve vývoji a přímo využívá knihovny APR (Apache Portable Runtime), je potřeba nainstalovat i tuto knihovnu v aktuální verzi. Dále pro přístup přes http je potřeba mít aktuální verzi balíků httpd a neon. Subversion také vyžaduje Berkeley DB ve verzi 4.0.14 nebo vyšší (doporučuje se však současná 4.2.52). Ve většině distribucí je minimálně verze 4.0.14 nainstalována.

    Instalace na systémech s balíčkovacím systémem 'rpm' by tedy měla probíhat pomocí příkazu rpm -ivh subversion*.i386.rpm. Stejně tak i pro další potřebné balíky. Pokud budete chtít nejen klienta, ale i vytvořit vlastní repository, je potřeba nainstalovat i balík subversion-server*.i386.rpm, který obsahuje nástroje pro administraci repository a modul pro httpd. Na Debianu by mělo stačit apt-get install subversion a make install na BSD systémech (na BSD jsem to sice nezkoušel, ale věřím, že to funguje, protože mě to zanedlouho čeká).

    Instalace ze zdrojových souborů je o něco zajímavější, ale pro zkušenější uživatele by to neměl být až takový problém. Když budete mít štěstí a splněné všechny závislosti, tak bude stačit klasické ./configure && make && make install s případnými následujícími volbami pro 'configure':

    • --enable-maintainer-mode - zapíná debug mód
    • --with-ssl - komunikace přes ssl s knihovnou neon
    • --with-zlib - podpora pro odesílání komprimovaných dat
    • --with-apxs="/cesta/ke_knihovnám_httpd"
    • --with-berkeley-db="/cesta/k_berkeley_db"

    Nicméně popisovat všechny možnosti instalace nemá smysl, protože by to zabralo celý článek - a navíc je velmi detailně popsána v souboru INSTALL.

    Jestli se instalace povedla, se dá jednoduše ověřit následovně:

    svnadmin create /cesta/k_repository/
    svn co file:///cesta/k_repository/

    a mělo by se vypsat "Checked out revision 0". Pokud máte správně nainstalován server i klienta, mělo by vše proběhnout bez chyb. Pokud máte jen klienta a nechcete server, můžete zkusit například:

    svn co http://svn.collab.net/repos/svn/trunk svn

    což by mělo do adresáře 'svn' stáhnout aktuální verzi Subversion.

    Co to všechno znamená si v zápětí povíme. Jen předešlu, že pokud se chcete dozvědět pouze to, jak se ovládá Subversion klient, tak si budete muset počkat na příští díl. Zbytek tohoto už bude jen o serverové části.

    Na straně serveru

    Pokud nechcete pouze stahovat aktuální verze programů a hodláte použít Subversion jako správce verzí pro své vlastní výtvory či cokoli jiného, musíte si vytvořit vlastní repository a nějak si ji zpřístupnit, pokud možno nejen lokálně.

    Vytvořit novou repository je velmi jednoduché. Stačí k tomu příkaz: svnadmin create /cesta/k_repository/. Tím se na daném místě vytvoří nová repository, ke které se dá přistupovat celkem čtyřmi různými způsoby. A to (způsob - adresa):

    • lokálně - file:///cesta/k_repository/
    • vzdáleně bez serveru přes ssh - svn+ssh://[uzivatel@]adresa_serveru/cesta/k_repository
    • vzdáleně se samostatným serverem - svn://adresa_serveru/cesta (viz dále)
    • vzdáleně přes http a WebDAV - http://adresa_serveru/cesta (viz dále)

    U lokálního přístupu je třeba mít na paměti, že cesta se zadává v URI (Unified Resource Identifier) formátu a tři lomítka za sebou tudíž nejsou překlep. Přístup přes ssh je vcelku intuitivní. Jen doplním, že je možné použít proměnnou SVN_SSH, která bude definovat ssh klienta a jeho parametry. Tedy například:

    export SVN_SSH="/usr/local/bin/ssh -l user -p 2222"

    Pro oba dva případy stačí, pokud má uživatel na serveru účet a práva k souborům z adresáře repository. Zbylé dva případy jsou o něco veselejší.

    Standalone server

    Ke spuštění samostatného interního serveru slouží program 'svnserve'. Má jen pár parametrů, které je rozumné použít.

    -d
    'svnserve' se spustí v daemon režimu
    -r
    Jeho účelem je zkrátit cestu v URL a je to částečná nebo celá cesta k repository. Pokud bude repository v /home/user/repository a použijeme svnserve -d -r /home/user/, zkrátí se cesta na svn://adresa_stroje/repository/ místo svn://adresa_stroje/home/user/repository
    --listen-port
    port, na kterém bude server otevřen
    --listen-host
    hostname, na kterém bude server otevřen

    Aby bylo možné s repository trochu pracovat, je potřeba definovat nějaká přístupová práva. Nastavení se provádí v souboru /cesta/k_repository/conf/svnserve.conf, kde je potřeba dopsat, resp. odkomentovat, několik řádků.

    [general]
    anon-access = read
    auth-access = write
    password-db = soubor_s_uzivateli
    realm = moje repository

    Znamená to, že anonymní uživatelé budou mít právo pouze ke čtení a autentizovaní uživatelé budou mít i právo zápisu. Soubor s hesly a jmény oprávněných uživatelů je soubor_s_uzivateli a při výzvě k autentizaci bude uživatel požádán o přihlášení k doméně moje repository.

    Soubor s hesly a uživateli má také velmi jednoduchou strukturu.

    [users]
    user1 = user1_pass
    user2 = user2_pass

    Hesla jsou v textové podobě. Je tedy nutné rozumně nastavit přístupová práva k souboru. Nicméně představu o bezpečnosti ať si udělá každý sám.

    WebDAV - přístup přes http

    Poslední možností je přístup přímo přes http nebo https. Pro použití je třeba mít nainstalován httpd (v současné chvíli 2.0.48) a trochu si pohrát s jeho konfiguračním souborem httpd.conf. Pokud máte správně nainstalován subversion-server, měli byste mít v adresáři s moduly web serveru (na RH třeba /usr/lib/httpd/modules/) soubor mod_dav_svn.so. V httpd.conf je třeba tento modul nahrát, a to řádkem:

    LoadModule dav_svn_module modules/mod_dav_svn.so

    Dále je nutné říct webserveru, kde se nachází repository a kdo k ní může přistupovat. To se dělá zápisem do httpd.conf:

    <Location /repository>
    DAV svn
    SVNParentPath /cesta/k_repository
    </Location>

    Tyto řádky zařídí přístup k repository na adrese http://adresa_stroje/repository, ačkoli fyzicky jsou někde na /cesta/k_repository.

    A nakonec ještě zajištění přístupu oprávněným uživatelům.

    <Location /repository>
    DAV svn
    SVNParentPath /cesta/k_repository
    AuthType Basic
    AuthName "Moje repository"
    AuthUserFile /cesta/k_repository/svn-auth-file
    <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
    </LimitExcept>
    </Location>

    Toto zajistí základní autentizaci http serveru s tím, že vyjma akcí GET PROPFIND OPTIONS REPORT smějí k repository přistupovat pouze oprávnění uživatelé vypsaní v souboru /cesta/k_repository/svn-auth-file. Vyjmenované akce odpovídají pouze čtení, které smějí provádět všichni.

    Do souboru /cesta/k_repository/svn-auth-file se uživatelé přidávají pomocí příkazu:

    htpasswd '/cesta/k_repository/svn-auth-file' [-m] user

    Při vytváření tohoto souboru je potřeba použít přepínač -c (create) a doporučuje se používat -m pro ukládání hesel pomocí hashovací funkce MD5.

    S bezpečným přístupem přes http je možné dělat ještě spoustu dalších věcí (ssl, omezení přistupu k jednotlivým adresářům, definování skupin,..), ale to je na delší povídání a v dokumentaci k Subversion a k autentizaci http serveru je toho opravdu spoustu k nastudování.

    Pokud je http přístup dobře nastaven, je samozřejmě možné k repository přistupovat přímo z libovolného webového prohlížeče. Výpis je celkem strohý a bez použití nadstavby je možné zobrazovat pouze poslední verzi. Je ale možné použít program ViewCVS (který uživatelé CVS dobře znají) a tím zobrazovat celou repository, včetně její historie a rozdílů mezi verzemi.

    Ještě je potřeba zálohovat

    Repository jsme vytvořili a zpřístupnili, tak si ještě povíme, jak ji zazálohovat a posléze obnovit. Jsou to velmi jednoduché operace, každá na jeden příkaz:

    svnadmin dump /cesta/k_repository/ | gzip -9 > backup.gz

    uloží a gzipem zabalí celou repository do souboru backup.gz a

    gunzip -c backup.gz | svnadmin load /cesta/k_repository/

    rozbalí soubor backup.gz a v adresáři /cesta/k_repository/ vytvoří repository s jeho obsahem.

    Tím jsme probrali instalaci a přípravu repository k rozumné práci. Možná, že to bylo trochu náročnější, ale příští díl už se budeme věnovat práci s klientem. Bude to rozhodně klidnější a zajímavější čtení.

           

    Hodnocení: 43 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    13.2.2004 10:15 llama
    Rozbalit Rozbalit vše dik za tenhle serial
    zrovna jsem to potreboval.. mozna jen v uvodu mohlo byt vysvetleni, proc ne bitkeeper ani arch ani nic jineho. doufam ze bude probrana i moznost win klikaciho klienta (jestli je), u CVS nas drzi vynikajici http://www.tortoisecvs.org/

    jo a technicka - v clanku ve vete "zápisem do <code>httpd.conf':</p>" chybi ukoncovaci tag code, cimz se jeho konec pomrsi...
    13.2.2004 11:04 pmr
    Rozbalit Rozbalit vše TortoiseSVN
    ked uz tortoise, mozes skusit TortoiseSVN http://tortoisesvn.tigris.org/

    prip. dalsie zdroje k Subversion: http://dmoz.org/Computers/Software/Configuration_Management/Tools/Subversion/
    13.2.2004 11:15 Vojta
    Rozbalit Rozbalit vše dik za tenhle serial
    Pro subversion existeje ekvivalent k tortisecvs a jmenuje se tortoisesvn a lze ho stáhnou ze stranek svn
    13.2.2004 16:53 networ
    Rozbalit Rozbalit vše Better SCM Initiative
    srovnani ruznych programu http://better-scm.berlios.de/
    13.2.2004 20:17 butruz
    Rozbalit Rozbalit vše otazky
    1) umi svn synchronizovat nekolik repozitaru mezi sebou? (napr. mam repozitar u sebe na notebooku a pak je hlavni repozitar a ja chci kazdou rozumnou zmenu commitnout u sebe a ty pak jednou za cas vsechny naraz nalit do hlavniho repozitare?)

    2) umi svn nejak importovat cvs repozitar (i s historii)?

    Diky
    15.2.2004 11:27 Pavel Novák
    Rozbalit Rozbalit vše Výborný článek
    Používám často svn jako uživatel a přesně tyhle věci mě chyběly a pořád jsem neměl čas si sendou k manuálu a nastudovat to. Momentálně mě na svn trápí snad jen dvě věci. - Nefungující proměnné $blabla$ - nutnost například při diffu zadat 4x heslo
    16.2.2004 11:03 Roman Vasicek
    Rozbalit Rozbalit vše SVN a klicova slova

    SVN umi nahrazovat klicova slova na zpusob CVS, jenom mu to musime rici - bohuzel vsak pro kazdy soubor zvlast. Deje se tak pomoci properties.

    Umi nahrazovat nasledujici:

    • LastChangedDate (nebo Date)
    • LastChangedRevision (nebo Rev)
    • LastChangedBy (nebo Author)
    • HeadURL (nebo URL)
    • Id

    Interpretovani $Id$ a $Author$ v souboru test.pm v aktualnim adresari zajistime pomoci

    svn propset svn:keywords "LastChangedDate Author" test.pm
    16.2.2004 11:07 Roman Vasicek
    Rozbalit Rozbalit vše SVN a klicova slova

    Ach jo, zase jsem si to po sobe poradne neprecetl :-( Takto zapsany prikaz samozrejme zajisti interpretaci $LastChangedDate$ a $Author$. Spravne tam melo byt

    svn propset svn:keywords "Id Author" test.pm
    18.9.2005 22:11 BuFran
    Rozbalit Rozbalit vše Re: SVN a klicova slova
    No ted jsem to hledal, a v konfiguracni casti serveru /etc/subversion/config staci odkomentovat a poupravit nasledujici radky:
    
    enable-auto-props = yes
    
    [auto-props]
    *.c = svn:eol-style=native;svn:keywords="Date rev Author Id"
    *.cpp = svn:eol-style=native;svn:keywords="Date rev Author Id"
    *.h = svn:eol-style=native;svn:keywords="Date rev Author Id"
    *.hpp = svn:eol-style=native;svn:keywords="Date rev Author Id"
    
    
    

    pak pro vsechny cpp,c,h a hpp soubory budou automaticky tyhle props nastavovany (bez zasahu uzivatele) a $Id$ bude v techhle souborech fungovat.
    29.9.2005 19:32 Honza_m
    Rozbalit Rozbalit vše Pristup pres http
    Diky za super navod, urcite pomohl, jen bych jeste potreboval pomoct s http pristupem... kdyz zadam localhost/repository zahlasi mi to, ze nemam prava.. mozna mam problem v apachi.. netusim. Predem diky

    H.
    1.3.2006 00:28 Techi
    Rozbalit Rozbalit vše Re: Jak spravovat software pomocí Subversion - I
    Jenom bych doporučil používat javovskej SmartSVN

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.