Nápověda:SVN
Z VirtlabWiki
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
aman 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