Sledování verzí s subversionem (SVN) pro začátečníky
Chtěli jste někdy pracovat na projektu s možností sledovat změny a vrátit je zpět? How-To Geek vysvětluje, jak používat populární verzi systému sledování, Subversion (a.k.a SVN).
Obrázek jasně nejednoznačný
Prelog
Tato příručka se zaměřuje na to, abyste mohli obecně používat subversion klienta, a pokud máte takový, na routeru * DD-WRT. Tato příručka není v žádném případě definitivní příručkou pro Subversion a spoustu informací lze nalézt na Subversion Red Book. Tato příručka je určena pouze k tomu, abyste poskytli krátkodobou odpověď na nejzákladnější otázky.
Přehled
Mohlo by existovat řada důvodů, proč byste chtěli "zakoupit" nejnovější kód softwarového projektu, který používá systém verzí. Díky tomu můžete těžit z nejnovějších dosud nevydaných změn, pomoci při testování a dokonce i při vývoji. V této příručce projdeme několik základních terminologií SVN, ukážeme, jak nainstalovat klienta SVN na Linux, Windows a pokud máte jeden router DD-WRT s podporou OPKG. Také jsme zahrnuli příklad projektu, který můžete vyúčtovat a použít pro tento směrovač.
Co je Subversion?
Subversion není v žádném případě jediným existujícím řídícím systémem verzí a alternativy zahrnují Git (který vytvořil Linus Torvalds zakladatel Linuxového jádra), Mercurial a PerForce, abychom jmenovali jen několik. S tím se říká, že je to jeden z volných, je zralý a je široce používán po celém světě.
Z Subversion "Red Book":
Subversion je bezplatný / otevřený zdroj systém řízení verzí (VCS). To znamená, že Subversion spravuje soubory a adresáře a změny provedené v průběhu času. To vám umožní obnovit starší verze vašich dat nebo prozkoumat historii změny vašich dat. V tomto ohledu mnoho lidí myslí na systém řízení verzí jako jakýsi "časový stroj".
Poznámka: Tato kniha je konečné shromažďování znalostí o subversionu a doporučujeme, abyste se na něj odvolávaly na všech tématech souvisejících s tématem Subversion.
Co je verze?
Verze je proces, kdy je stav projektu v určitém okamžiku uložen. Tento druh postupu se často používá k řízení vývoje softwaru, takže práce mohou pokračovat ve zlepšování projektu nebo přidávání vlastností, zatímco je schopen sledovat, co se změnilo z posledního celkového bodu "save". Tento druh postupu může být užitečný pro jednu osobu, ale ještě pro skupinu lidí, kteří pracují na stejném projektu. Důvodem je to, že obvykle při práci na projektu jako skupina dochází k rozdělení odpovědnosti a různí lidé mění různé aspekty projektu. Bez mechanismu verzí by bylo velmi obtížné udržet všechny synchronizované na nejnovější pracovní změny od všech ostatních.
Terminologie
Úložiště
Úložiště je místo, kde jsou uložena všechna data ze všech různých míst. Ve světě podvratnosti je z pohledu klienta server, který uchovává databázi projektu. Tato databáze obsahuje všechny soubory, které jsou součástí projektu se všemi jejich předchozími verzemi.
Revize
Když je vytvořen repozitář, je mu zadán číslo revize nula (0). Toto číslo se zvyšuje o jeden (1) pokaždé, když je prováděn příkaz. Číslo revize je globální pro úložiště. To znamená, že pro jednotlivé soubory v úložišti neexistuje individuální číslo revize, i když v daném souboru se pro daný konkrétní příkaz.
Pracovní kopie
Pracovní kopií je místní kopie (nebo "pokladna") konkrétní verze. Obvykle je tato verze při odbavení "nejnovější" (nazývaná také "head"), ale předchozí může být požadována. Uživatel může s místní kopií dělat cokoliv, co si přeje, s vědomím, že v nejhorším případě by mohli znovu kód zkontrolovat. Kromě toho je tato kopie "soukromá". Důvodem je to, že dokud nezaktualizujete kopii nebo ji nezavedete, neuvidíte změny jiných lidí a neuvidí vaše.
Aktualizace a řešení konfliktů
Místní pracovní kopii lze aktualizovat. To znamená, že pokud jste "odhlásili" určitou verzi a zatímco jste pracovali, verze v úložišti byla aktualizována, můžete svou pracovní kopii aktualizovat na nejnovější verzi. Ve skutečnosti vám server zabrání v provádění změn před aktualizací na nejnovější verzi, která odpovídá úložišti. To je děláno tak, abyste donutili vyřešit konflikty místně, ještě předtím, než dokonce uvažujete o provedení změn úložiště.
Sloučení
Sloučení odkazuje na proces, kterým je změněný kód smíchán do jedné verze. To může také znamenat vyřešení konfliktů.
Přiznává
Spáchání je proces, ve kterém změny, které jste provedli v místní kopii, budou sloučeny zpět do úložiště. Jedná se o nejzákladnější část procesu, protože zde se mohou změnit změny, které jste učinili, a mohou mít dopad na jiné osoby používající stejné úložiště. To je důvod, proč se to obvykle děje po nějaké úvaze, s konsensem týmu a poté, co vyřešíte všechny fúzující konflikty.
Pracovní postup
Nejzákladnější workflow z pohledu uživatele při použití subversion je následující:
1. Zkontrolovat existující kód (obvykle "hlava").
2. Udělat změny, přidat soubory a obecně rozvíjet kód.
3. Aktualizujte nejnovější verzi, abyste se ujistili, že místní kopie je synchronizována s aktualizací na úložišti.
4. Místně sloučit a vyřešit konflikty v případě potřeby.
5. Spojí sloučené změny do úložiště.
6. GoTo krok 2.
Nechte se rozbít
Nainstalujte klienta
Abyste mohli používat subversion, musíte nainstalovat klienta do vašeho počítače.
Na Linuxu
Stačí nainstalovat balíček. Na Ubuntu / mincovně to bude probíhat s:
sudo aptitude install subversion
Na DD-WRT
Pokud jste postupovali podle pokynů v části "Postup instalace dodatečného softwaru na váš domovský směrovač (DD-WRT)", můžete nainstalovat klienta svn jednoduchým vydáním:
opkg update; opkg install subversion-client
V systému Windows
Zatímco my, hloupí uživatelé geeků, mohou začít zapomínat, že GUI dokonce někdy existuje, ne každý má. Pokud chcete použít klienta Windows pro připojení k repozitáři SVN, zdaleka nejoblíbenější je "Tortoise". Chcete-li ho použít, jednoduše stáhněte program a nainstalujte ho do normální módy "příští, příští, dokončovací".
Vytvořte "úložiště"
Zatímco v této příručce nebudeme podrobně vysvětlovat, jak nastavit subversion server, alternativa Google není pro začátečníka špatný start. Vytvoření úložiště Google:
- Překročte webovou stránku Google Code hosting a "vytvořte" nový projekt.
- Na další stránce vyplňte požadovaná pole a vyberte typ "řídicího systému verzí", který má být subversion.
Poznámka: Možná budete chtít podívat, jaký je rozdíl mezi nabídkami licencí Google, než vyberete jednu z nich pro daný projekt. - Klikněte na tlačítko "Vytvořit projekt".
Jakmile byl váš projekt vytvořen, měli byste najít pokyny k jeho přístupu na kartě Zdroj.
Pěkná věc týkající se kódu Google je, že umožní verzi anonymní verze pouze pro čtení pro váš projekt. Pokud se nechcete vyrovnávat s potížím při vytváření vlastního projektu, můžete anonymně prověřit tento úložiště spisovatele.
Jedna poznámka o projektu hotfortech: Tento projekt je určen jako obal pro funkce, které byly přidány k DD-WRT na How-To Geek (které já osobně používám) a některé osobní vylepšení. Zatímco tento projekt je zaměřen na práci ve spojení s články publikovanými zde o howtogeek, je to stále můj soukromý projekt. To znamená, že je velmi vhodný pro můj Buffalo router (AR71xx architektura), moje osobní rozmary a je náchylný k příležitostné borkage.
Na Linuxu / DD-WRT
Vytvořte adresář, do kterého chcete pracovat, například na DD-WRT, který by mohl být:
mkdir -p / jfs / svn; cd / jffs / svn
Kompletní příkaz na Linuxu se skládá ze samotného příkazu SVN, direktivy "checkout", adresy repozitáře a adresáře do pokladny. Vytvořte prázdný adresář a spusťte následující příkaz:
svn pokladna http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only
Všimněte si, že ve výše uvedeném příkladu je verze jen pro čtení odhlášena. Pokud jste se rozhodli vytvořit vlastní repozitář, budete muset použít odkaz httpS.
V systému Windows
Protože želví je rozšíření shellu, budete muset použít kontextové menu pro Průzkumník souborů Windows (klikněte pravým tlačítkem myši). Ve skutečnosti, pokud se pokusíte vyvolat z nabídky start, dostanete:
- Vytvořte prázdný adresář.
- Kliknutím pravým tlačítkem na něj vyvoláte místní nabídku.
- Zvolte "SVN Checkout":
- Zkopírujte a vložte odkaz pro projekt (pokud jej máte) do textového pole "URL":
- V závislosti na velikosti vašeho projektu to může chvíli trvat, ale po skončení "Pokladny" byste měli vidět něco jako:
- Můžete začít rozvíjet.
"Aktualizovat" a "Sloučit" svou pracovní kopii
Pokud pracujete na kódu s kolegy nebo vy sám, aktualizujete kód z několika míst (např. Notebook, počítač nebo dokonce směrovač), budete muset aktualizovat svou pracovní kopii ještě předtím, než přijmete nejnovější změny.
Na Linuxu / DD-WRT
Příkazem, který lze provést na těchto POSIX systémech, je jednoduše:
svn nahoru
V systému Windows
- Klikněte pravým tlačítkem myši na pracovní adresář a vyberte "Aktualizace SVN":
- Pokud narazíte na konflikty, zkuste postupovat podle pokynů na obrazovce a použijte svůj názor na to, co s nimi dělat.
"Spusťte" změny
To je, měli byste být bez konfliktu a připraveni aktualizovat úložiště se svými změnami.
Jediným bodem, který je třeba poznamenat, je, že je běžnou praxí přidávat ke správě zprávu "log", aby bylo možné snadno vzpomenout, proč byly změny provedeny. Ve skutečnosti je tento úložiště Google povinným předpokladem k páchání.
Na Linuxu / DD-WRT
Jedná se o příklad závazku, který jsem učinil na projektu hotfortech, který jej rozšířil na verzi 19:
svn commit -m "aktualizováno tak, aby odráželo nový odkaz ant-ads pack"
V systému Windows
- Klikněte pravým tlačítkem na pracovní adresář a vyberte "SVN Commit":
- Měli byste být přivítáni oknem, které vám umožní zaznamenat zprávu protokolu:
- Klepněte na tlačítko OK a po zobrazení výzvy k zadání hesla zadejte heslo vygenerované společností Google.
- Pokud byla potvrzení úspěšná, měli byste vidět něco jako:
- To je, měli byste být schopni se zavazovat jako BOSS.
Závěrečné poznámky
To by mělo stačit, abyste vás začali. Doporučuje se, abyste si přečetli referenční knihy SVN, abyste získali hlubší a lépe pochopení všech použití, možností a upozornění SVN. Také vám připomínáme (opět), že subversion není jediným verzím řídícím systémem a GIT (který byl vytvořen zakladatelem linuxového jádra Linuse Torvalda) se v posledních letech.
Pokud se rozhodnete spustit "run-config.sh" z projektu hotfortech na vašem směrovači, zjistíte, že to bude instalovat právě pro vás: Anti-ads-pack, Opkg geek-init script, stejně jako věci jako plné GNU "ls", "méně", "BASH" a další.
/jffs/svn/hotfortech-dd-wrt/running-conf.sh
Další funkce čekají a budou přidány do budoucna.
Správci systému budou kódovat cestu z kódování.