Nápověda:SVN

Z VirtlabWiki

Přejít na: navigace, hledání

Obsah

Co potřebuju

Musíte mít program, který umí "protokol" SVN požívat. V Ubuntu (a tedy i Debianu) jde o balíček subversion - jde o konzolovou záležitost, takže pokud bude chtít něco "klikacího", musíte se podívat po nějaké nadstavbě (já jsem nic slušného nenašel).

Pro Debian existuje balíček rapidsvn - je to grafická nástavba a někomu se to může hodit (více na: http://rapidsvn.tigris.org/).

Pro MS Windows lze použít program TortoiseSVN.

V následujícím HOW-TO budu používat linuxovou variantu a případ naší SVN s Virtlabem.

Začínáme

  • Práci s SVN musíte začít tím, že si na váš PC stáhnete její obsah. (uložiště na serveru se jmenuje "repository" a souborům na vašem PC se říká "working copy"). Aby jste to mohli udělat potřebujete mít na serveru účet (pokud ještě nemáte, kontaktujte Petra Grygárka). V příkladu je použit můj login Vav166

svn checkout --username NEKDO https://svn.cs.vsb.cz/svn/virtlab/
Budete požádáni o zadání hesla (z LDAP nebo pro Vas napevno nastaveneho na serveru). Následně se vám začnou stahovat soubory z repository

UPOZORNĚNÍ 
při "checkoutu" se vám vytvoří v aktuálním adresáři vytvoří adresář virtlab, kde budou všechny soubory z SVN ukládány. Pokud bude chtít dále s SVN pracovat, buďte v tomto adresáři.

Pracujeme s SVN

  • Editaci souboru, můžete provádět přímo (v editoru jej otevřete, pozměníte, uložíte)
  • Na přidání, smazání, přejmenování, ... souborů/adresářu v SVN musíte použít speciální příkazy

svn <akce> <soubor>

  • Bližší informace hledejte například v svn help a man svn
  • Pokud chcete zjistit jak se vaše "working copy" liší od obsahu repository, použijte: svn status

Měníme SVN repository

  • Pokud budete chtít změny, které jste provedli, nahrát na server, použijte nejprve svn update (tímto příkazem se vám working copy aktualizuje - je třeba si hlídat, jestli nedošlo ke kolizím změn souborů - viz manuál) a pak následně svn commit, kterým nahrajete změny na server. Otevře se vám editor, do kterého můžete popsat, co jste s SVN provedli - pak dáte normálně "uložit a ukončit" (vi/vim: :wq, mcedit: <F2><F10>, ...)

Další informace

Soubor o SVN, který sepsal Petr Grygárek. Jde jen o pracovní poznámky, ale můžou pomoc.

Verzování

Hodně informaci o verzování jsem se dozvěděl z SVN-book a závěr je ten, že je to problém! :-) Problém nastává u větších projektů, když je potřeba "slít" dohromady dvě verze (například nějakou základní větev vývoje, ve které se opraví chyby, s verzí která příslušné soubory už má nějak upraveny.

Jak se vrátit ke starší verzi zdrojáku

Není problém použít libovolnou verzi, která kdy byla do SVN uložena. Je jen nutné znát její revizní číslo. Pak zadáme příkaz
svn update -r <číslo revize>.

Nikdo ale asi z hlavy neví, jaké číslo měla zrovna ta verze, kterou hledáme. K zjištění, co v dané verzi je, se hodí příkaz
svn cat <soubor>@<číslo revize>. Tento příkaz si ovšem vyžádá dvakrát zadání hesla (to je dost otravné), ale dá se tak dopátrat požadované verze.

Nastavení souboru právo executable

svn propset svn:executable ON soubor

Zákaz lokálního ukládání hesel

Při přístupu přes HTTPS (možná nejen) svn klient ukládá hesla v plaintextu v /root/.subversion/auth/svn.simple/-naky-hash-.

Dá se tomu zamezit nastavením v /root/.subversion/config

[auth]
store-passwords = no
Osobní nástroje