Hodnocení tématu:
  • 0 Hlas(ů) - 0 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
SVN - návod
#1
Jak už jsem psal tady - používám SVN na verzování (nejenom) titulků.

Zkusím tady napsat obecný návod, jak se SVN používá, třeba se to někomu zalíbí, třeba se to pak bude používat u 3. série při vytváření a ladění/korekci titulků, popř. na vývoj Bronies webu. A třeba taky ne... Rainbowlaugh Já už SVN používám řadu let - jak v práci, tak k soukromým účelů, tak ho nabídnu i vám... Pinkiesmile

Nelekněte se délky návodu - je psaný hodně podrobně - v praxi je to pár kliknutí myší. Pinkiesmile

Výhody jsou jasné:
- Centrální úložiště
-- Už žádné posílání různých verzí souborů e-mailem/PM
-- Vždy aktuální verze souboru, může na něm dělat více lidí současně (po domluvě)
- Jasné verzování změn souborů
-- Historie změn, jejich porovnávání, jednotnost
- Jednoduché ovládání pomocí několika málo kliknutí
- Hodí se na verzování jakýchkoliv textových souborů (titulky, weby (zdrojové kódy), ...)
-- Nehodí se na verzování obrázků či jiných binárních souborů

Základní informace najdete na Wikipedii.

Místo popisu nějaké nudné teorie dám raději ukázku z praxe - základ používání (možností je samozřejmě mnohem více), ale pro začátek to vezmu jednoduše.



SVN klient je ke stažení zde:
32 bit: http://sourceforge.net/projects/tortoise...i/download
64 bit: http://sourceforge.net/projects/tortoise...i/download

Volitelně čeština:
32 bit: http://sourceforge.net/projects/tortoise...i/download
64 bit: http://sourceforge.net/projects/tortoise...i/download



Prvním krokem je Checkout - to se dělá pouze jednou, tím získáte aktuální revizi z centrálního repozitáře, tj. nejaktuálnější soubory z úložiště na serveru, včetně všech změn od ostatních lidí s přístupem do SVN.
- Vytvořte si prázdný adresář a klikněte pravým tlačítkem myši (dále PTM) na SVN Získat (Checkout):

[Obrázek: svn_navod_00001.jpg]

- Ve formuláři nic neměníte, kromě URL (veřejně nesděluji, pouze pro vážné zájemce) a dáte OK.

[Obrázek: svn_navod_00002.jpg]


Nyní už následuje standardní "kolečko", které se dělá vždy když chcete pracovat se soubory v SVN:
1. Update
2. Změny souborů
3. Commit

1. Update
Tím si aktualizujete svoji lokální kopii repozitáře (získanou pomocí Checkoutu výše) podle serveru.
Není to povinné, ale je to důrazně doporučené před začátkem práce, neboť se tím vyhnete případným konfliktům (tj. když někdo před vámi zeditoval stejný soubor na stejném řádku jako vy a vy tedy pracujete se starou kopií) při odevzdání (commitu).

[Obrázek: svn_navod_00003.jpg]

2. Změny souborů
- Pokud již soubor v repozitáři je, tak ho normálně zeditujete a uložíte
- Pokud je soubor/adresář nový, tak ho repozitář nezná a ignoruje ho. Musíte ho do něj přidat (říct mu, že tento soubor/adresář chcete verzovat): PTM -> TortoiseSVN -> Přidat (Add)
- Pokud chcete nějaké své změny v souboru/adresáři vrátit (rozmysleli jste si to), tak PTM -> TortoiseSVN -> Navrátit (Revert)
- Před Commitem se dá "Vrátit Přidat", tj. zrušení přidání souboru/adresáře (stejně jako ostatní souborové operace - smazání, přejmenování, ...)
- Jakmile je jednou soubor/adresář přidán a commitnut, tak k práci s ním (souborové operace) musíte používat VÝHRADNĚ SVN nástroje - nesmíte soubor "ručně" přesouvat, přejmenovávat, mazat apod., vždy zvolte položku v menu:

[Obrázek: svn_navod_00004.jpg]

3. Commit
Commit znamená odeslání veškerých změn z kroku 2 (přidání, mazání, editace souborů) na server. Dokud neuděláte Commit, tak jsou veškeré změny pouze u vás na disku a nikdo jiný je nevidí! Poté, co uděláte Commit získají tyto změny ostatní lidé pomocí přílazu Update, viz první krok.
A tím se nám kolečko uzavírá... Pinkiesmile Jen vyplníte popis změn a dáte OK.

[Obrázek: svn_navod_00005.jpg]

[Obrázek: svn_navod_00006.jpg]
No a teď praktická ukázka nejběžnějších věcí:
1. Přidání souboru
2. Editace souboru + porovnání s originálem (kontrola změn před Commitem)
3. Smazání souboru (moc se nepoužívá)
4. Zobrazení logu

Pro adresáře platí prakticky stejný postup. Můžete najednou přidat více souborů i více adresářů (pokud spolu souvisí) a pak to teprve vše Commitnout.

Obecně je to tak, že vždy v rámci jednoho Commitu pracuje se soubory a adresáři které spolu významově souvisí.
Např. Nejprve zedituji titulky S01E01.srt a Commitnu změny a poté teprve začnu pracovat na jiném souboru - nemíchat dohromady zbytečně věci, které spolu nesouvisí.

Pokud editujete více souborů, vždy Commitujte nadřazený adresář, aby se to odeslalo jako jeden balík změn, NEcommitujte po jednotlivých souborech.

Už jen rychle, formou obrázků:

1. Přidání souboru

[Obrázek: svn_navod_00007-00010.jpg]

2. Editace souboru

[Obrázek: svn_navod_00011-00015.jpg]

3. Smazání souboru (moc se nepoužívá)

[Obrázek: svn_navod_00016-00018.jpg]

4. Zobrazení logu

[Obrázek: svn_navod_00019-00020.jpg]
Je to jen takový rychlý přehled (k ideálnímu návodu to má daleko... Rainbowlaugh ), kdyby to někoho zaujalo, tak dotazy zodpovím na Mumble... Pinkiesmile
Odpovědět
#2
Zaujímavé, ale nie je to v podstate rovnaké ako nové Google Docs? Jediné v čom vidím rozdiel sú lepšie logy.
FCAf5ad A+ C** D H+ M-- P R- T++ W-- Z- Sm RL-* a# cn+++ d+ e- f+ h* iwf+++ j p sm#
Skloňujte Kiraa podľa předseda/hrdina Ajsmug
Odpovědět
#3
Google Docs neznám a nikdy jsem nepoužil, takže nedokážu porovnat... Pinkiesmile A hlavně je to google - už vidím, jak mu tam např. dávám zdrojové kódy od webu... Rainbowlaugh
Odpovědět
#4
(12.06.2012, 14:47)Kiraa Napsal(a): Zaujímavé, ale nie je to v podstate rovnaké ako nové Google Docs? Jediné v čom vidím rozdiel sú lepšie logy.

Umm… Porovnávat verzovací systém s google docs… No… jediné možné porovnání je ve faktu, že se v tomto případě dá použít obojí. SVN je ovšem mnohem lepší, pokud pracuješ s nějakým editorem titulků.
Odpovědět
#5
SVN taky používám už dlouho zvláště u roguelike her, které se aktivně vyvíjejí.
Odpovědět
#6
To nejdůležitější, co si z celého vzít není to, že je to super věc na ukládání souborů a jejich úpravu, ale především že je to super věc na hromadnou správu dokumentů -- např. pokud několik lidí překládá jedny titulky, tak mohou pracovat současně na jednom souboru, slučovat svoje verze, dělat vývojové větve a tak podobně.

Jinak malá připomínka -- spíše doporučení, v SVN pokud píšete do logu, tak vždy bez diakritiky. -- ne, že by mohla přímo vadit, ale už jen rozdílnost systémů, na které SVN může běžet může způsobit, že jedni vidí komentář a další rozsypaný čaje Twilightsmile

Dále -- commit pouze s věcmi, které významově souvisí; to je v pořádku, ale pokud chci komitovat víc věcí, které spolu konkrétně třeba nesouvisí, pak je dobré udělat různé větve pro každou věc zvlášť a pak to zase spojit, až ta daná věc bude hotová. Především dobré je to pokud se upravuje jedna věc více lidmi. U titulků nebo nějakých drobností to nemá skoro smysl řešit, ale pokud je to velký projekt, tak aby kvli vašim commitům zbytek firmy seděl a updatoval vaše změny... Takže udělat si svoji vývojovou větev a až to bude hotové, sloučit to do hlavní větve (trošku sem tahám GIT, ale některé věci má GIT prostě lepší, ale SVN má zase spoustu výhod -- např. jednoduchou centralizaci atd atd., ale to už zacházím fakt nad rámec) Ajsmug

Každopádně resumé -- jsem rád, že se i na MLP používají vlastně profesionální nástroje, pamatuji si, že jsem kdysi něco dělal jedné ekonomické fakultě a když jsem po nich chtěl zdroje, dostal jsem email na seznamu a heslo a tam měli složky a všichni pracovali s jedním seznamem. Pod pojmem všichni myslím 5 ročníků fakulty, tzn. nějakých 800 lidí... Naštěstí pak je donutili používat portal a STAG, ale prostě před tím to byla hrůza... Takže jsem rád, že se to tady bere alespoň krapet vážně Ajsmug
Eeeyup!
www.klusik.cz
Odpovědět
#7
(02.09.2012, 02:44)klusik Napsal(a): Dále -- commit pouze s věcmi, které významově souvisí; to je v pořádku, ale pokud chci komitovat víc věcí, které spolu konkrétně třeba nesouvisí, pak je dobré udělat různé větve pro každou věc zvlášť a pak to zase spojit, až ta daná věc bude hotová.

To bylo myšleno jinak v tomto případě. Na tom SVN je více menších projektů, které spolu nesouvisí - např. ten text návodu a titulky v PMV. A když upravím text návodu i text nějakých titulků, tak to nebudu commitovat najednou, ale udělám 2 commity - nejdřív jeden a pak druhý.
Je to z důvodu např. rollbacku revize apod. - aby se ti nevrátily i změny, které nechceš - protože jsou z jiného projektu a vůbec spolu nesouvisí.
Větve, slučování, tagy atd. tady opravdu nevyužijeme a taky s tím nechci novým uživatelům hned motat hlavu. Ajsmug


(02.09.2012, 02:44)klusik Napsal(a): Každopádně resumé -- jsem rád, že se i na MLP používají vlastně profesionální nástroje...

Hh, no aktuálně ho používám sám... Rainbowlaugh Uvidíme až začně 3. série a budou se dělat titulky, zda bude mít někdo zájem - rozhodně nemam v plánu to nikomu vnucovat... Pinkiesmile
Odpovědět
#8
(02.09.2012, 11:07)Refly Napsal(a): Je to z důvodu např. rollbacku revize apod. - aby se ti nevrátily i změny, které nechceš - protože jsou z jiného projektu a vůbec spolu nesouvisí.
Jasně, rozumím Twilightsmile

(02.09.2012, 11:07)Refly Napsal(a): Větve, slučování, tagy atd. tady opravdu nevyužijeme a taky s tím nechci novým uživatelům hned motat hlavu. Ajsmug¨
Tak samozřejmě, proto píšu, že je to nad rámec, že...

(02.09.2012, 11:07)Refly Napsal(a): Hh, no aktuálně ho používám sám... Rainbowlaugh Uvidíme až začně 3. série a budou se dělat titulky, zda bude mít někdo zájem - rozhodně nemam v plánu to nikomu vnucovat... Pinkiesmile

Tak bylo by to dobré; i když lidi spíš raději využijou něco... prostě jak psala nahoře ta jedna slečna, že raději použije google docs. Je jasné, že je to prostě takové "přes ruku" řešení, ale prostě tak to je. Lidi využijou raději to, co mají a) hned a za b) nemusí nic instalovat do PC a učit se novým věcem (můj názor).

Eeeyup!
www.klusik.cz
Odpovědět
#9
No ano, je to na každém, nikomu to nenutím - jen jsem ukázal možnosti.

Jak psal Darm - porovnávat google docs s verzovacím systémem je trochu blbost... Pinkiesmile
Odpovědět
#10
Porovnávat SVN/GD je blbost, s tím souhlasím Ajsmug Ajsmug Já to myslel spíš jako z hlediska uživatelského komfortu; dlouho jsem pracoval jako IT na jedné humanitně zaměřené fakultě a vypozoroval jsem, že lidi, než aby se naučili plánovat si věci v Outlooku, tak si je raději napíšou do mailu... prostě jen kvůli lenosti, že se nemusí učit novou věc a kvůli tomu, že třeba Outlook doma nemají atd.

Ale současně říkám, že je špatně, že to tak je, že lidi jsou líbí -- na "třetí stranuů však je jasné, že to tak je, stejně jako proud i člověk jde cestou nejmenšího odporu. A pro někoho je odpor nainstalovat si třeba Tortoise nebo svnclient do PC. Bože, však jsme zažili dobu, co "všichni" lezli na net v IE6 a nebylo síly, která by jim vysvětlila, že je to blbost a že stránky kvůli tomu musí designér psát několikrát...

Teď je holt na nás, kterým to jedno není, abychom se zapřeli a trošku tyhle lidi popostrčili. A myslím, že napsat pěkný a přehledný návod, jako je zde, je jen dobrý začátek Ajsmug
Eeeyup!
www.klusik.cz
Odpovědět


Přejít na fórum:


Uživatel(é) prohlížející tohle téma: 1 host(ů)