Domovská » jak » Sledování verzí s subversionem (SVN) pro začátečníky

    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".
    "Pokladna" pracovní kopie

    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í.