Sledovanie verzií so subversionom (SVN) pre začiatočníkov

Obsah:

Sledovanie verzií so subversionom (SVN) pre začiatočníkov
Sledovanie verzií so subversionom (SVN) pre začiatočníkov

Video: Sledovanie verzií so subversionom (SVN) pre začiatočníkov

Video: Sledovanie verzií so subversionom (SVN) pre začiatočníkov
Video: Marlin configuration 2.0.9 - Basic firmware installs - YouTube 2024, Apríl
Anonim
Chceli ste niekedy pracovať na projekte so schopnosťou sledovať vaše zmeny a vrátiť ich späť? How-To Geek vysvetľuje, ako používať populárny systém sledovania verzií, Subversion (a.k.a SVN).
Chceli ste niekedy pracovať na projekte so schopnosťou sledovať vaše zmeny a vrátiť ich späť? How-To Geek vysvetľuje, ako používať populárny systém sledovania verzií, Subversion (a.k.a SVN).

Obrázok jasne nejednoznačný

Prelog

Táto príručka bude zameraná na to, aby vám umožnila používať klienta na subverzie vo všeobecnosti a, ak ho máte, na vašom routeru * DD-WRT. Táto príručka nie je v žiadnom prípade definitívnou príručkou pre Subversion a veľa informácií sa nachádza na Subversion Red Book. Táto príručka je určená len na to, aby vám poskytla skrátenú odpoveď na najzákladnejšie otázky.

Prehľad

Existuje mnoho dôvodov, prečo by ste chceli, aby ste mohli "zakúpiť" najnovší kód pre softvérový projekt, ktorý používa systém verzie. Týmto spôsobom môžete využiť najnovšie ešte nevydané zmeny, pomôcť pri testovaní a dokonca aj vývoji. V tejto príručke sa pozrieme na niekoľko základných terminológií SVN, ukážeme, ako nainštalovať klienta SVN na Linux, Windows a ak máte jeden router DD-WRT s podporou OPKG. Taktiež sme uviedli príklad projektu, ktorý môžete vyúčtovať a použiť pre daný smerovač.

Čo je to Subversion?

Subversion v žiadnom prípade nie je jediný existujúci systém na riadenie verzií a alternatívy zahŕňajú Git (ktorý vytvoril Linus Torvalds zakladateľ Linuxového jadra), Mercurial a PerForce. Tým je povedané, že je jedným z voľných, je zrelý a je široko používaný po celom svete.

Z Subversion "Red Book":

Subversion is a free/open source version control system (VCS). That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.”

Poznámka: Táto kniha je najvyššiu zbierku poznatkov o podvracaní a odporúčame, aby ste sa naň obrátili na všetky témy týkajúce sa témy Subversion.

Čo je verzia?

Verzia je proces, v ktorom je stav projektu v danom čase uložený. Takýto postup sa často používa na riadenie vývoja softvéru, aby práca mohla naďalej zlepšovať projekt alebo pridávať funkcie, zatiaľ čo dokáže sledovať to, čo sa zmenilo od posledného celkového bodu "save". Tento druh postupu môže byť užitočný pre jednu osobu, ale ešte viac pre skupinu ľudí, ktorí pracujú na tom istom projekte. Je to preto, že zvyčajne pri práci na projekte ako skupine dochádza k rozdeľovaniu zodpovednosti a rôzni ľudia menia rôzne aspekty projektu. Bez mechanizmu verzie by bolo veľmi ťažké udržať všetko v synchronizácii na najnovšie pracovné zmeny od všetkých ostatných.

terminológie

Úložisko Úložisko je miesto, kde sú uložené všetky údaje zo všetkých rôznych miest. V subverznom svete je z pohľadu klienta server, ktorý uchováva databázu projektu. Táto databáza obsahuje všetky súbory, ktoré sú súčasťou projektu so všetkými ich predchádzajúcimi verziami.

opakovanie

Po vytvorení úložiska je číslo revízie nulové (0). Toto číslo sa zvyšuje o jeden (1) pri každom vykonaní odovzdania. Číslo revízie je globálne pre úložisko. To znamená, že pre jednotlivé súbory v repozitári nie je žiadne individuálne číslo revízie, a to ani vtedy, ak sa v tomto súbore nič nezmenilo pre daný špecifický zásah.

Pracovná kópia

Pracovná kópia je miestna kópia (alebo "pokladňa") konkrétnej verzie. Zvyčajne je táto verzia pri odhlásení "najnovšia" (nazývaná aj "hlavička"), ale môže byť požadovaná predchádzajúca. Užívateľ môže s lokálnou kópiou urobiť všetko, čo si želá, s vedomím, že v najhoršom prípade by mohli opäť skontrolovať kód. Navyše, táto kópia je "súkromná". Dôvodom je, že kým nedôjde k aktualizácii alebo odovzdaniu vašej kópie, nezobrazia sa zmeny iných používateľov, ani sa vám nezobrazia vaše.

Aktualizácia a riešenie konfliktov

Miestna pracovná kópia môže byť aktualizovaná. To znamená, že ak ste "vyskúšali" určitú verziu a zatiaľ čo pracujete, verzia na úložisku bola aktualizovaná, môžete svoju pracovnú kópiu aktualizovať na najnovšiu verziu. V skutočnosti vám server zabráni, aby ste vykonali zmeny predtým, než aktualizujete najnovšiu verziu, ktorá zodpovedá úložisku. Vykonáte to preto, aby ste donútili vyriešiť lokálne konflikty, skôr ako dokonca premýšľate o tom, že ste vykonali zmeny v úložisku.

zlúčenie

Zlúčenie odkazuje na proces, ktorým sa zmenený kód zmieša do jednej verzie. Môže to tiež znamenať riešenie konfliktov.

COMMIT

Záväzok je proces, v ktorom sa zmeny, ktoré ste urobili vo svojej miestnej kópii, zlúčili späť do úložiska. Toto je najnebezpečnejšia časť procesu, pretože tu sú zmeny, ktoré ste urobili, mohli mať dopad na iných ľudí, ktorí používajú rovnaké úložisko. To je dôvod, prečo sa to zvyčajne robí po určitom zvážení, s konsenzom tímu a po vyriešení akýchkoľvek fúzujúcich konfliktov.

Pracovný postup

Najzákladnejšie pracovné postupy z pohľadu používateľa pri používaní subverzie sú tieto:

1. Pokladajte existujúci kód (zvyčajne "hlava"). 2. Urobte zmeny, pridajte súbory a všeobecne rozvíjajte kód. 3. Aktualizujte na najnovšiu verziu, aby ste sa uistili, že vaša lokálna kópia je synchronizovaná s aktualizáciami na repozitári. 4. Miestne zlúčenie a vyriešenie konfliktov v prípade potreby. 5. Spájajte zlúčené zmeny do úložiska. 6. GoTo krok 2.

Dovoľte, aby ste sa rozbili

Nainštalujte klienta

Aby ste mohli používať subversion, musíte nainštalovať klienta na svojom počítači.

Na Linuxe

Stačí inštalovať balík. Na Ubuntu / mincovni by to bolo vykonané s:

sudo aptitude install subversion

Na DD-WRT

Ak ste postupovali podľa pokynov v časti "Ako nainštalovať ďalší softvér na váš domovský smerovač (DD-WRT)", môžete nainštalovať klienta svn jednoduchým zadaním:

opkg update; opkg install subversion-client

V systéme Windows

Zatiaľ čo my hlbokí geek užívatelia môžu začať zabudnúť, že GUI dokonca niekedy existuje, nie každý. Ak chcete používať klienta Windows na pripojenie k úložisku SVN, ďaleko najpopulárnejším je "korytnačka". Ak ho chcete použiť, jednoducho stiahnite program a nainštalujte ho do bežného režimu "Next, Next, finish".

Vytvorte "úložisko"

Zatiaľ čo v tejto príručke nebudeme podrobne vysvetľovať, ako nastaviť subverzný server, alternatíva Google nie je zlý štart pre začínajúceho používateľa. Vytvorenie repozitára Google:

  • Prejdite na stránku hosťovania kódu Google a vytvorte nový projekt.

    Image
    Image
  • Na ďalšej stránke vyplňte povinné polia a zvoľte typ "verzie riadiaceho systému", ktorý má byť subversion.

    Image
    Image

    Poznámka: Možno budete chcieť pozrieť, aký je rozdiel medzi ponukou licencií Google, skôr ako vyberiete jednu z nich pre projekt.

  • Kliknite na položku Vytvoriť projekt.

" Pokladni" pracovnú kópiu

Po vytvorení projektu by ste mali nájsť pokyny na prístup k nemu na karte Zdroj.

Pekná vec týkajúca sa kódu Google je, že vám umožní vytvoriť anonymnú verziu pre váš projekt iba na čítanie. Ak sa nechcete vyrovnať s ťažkosťami pri vytváraní vlastného projektu, môžete anonymne skontrolovať tento úložisko spisovateľa.
Pekná vec týkajúca sa kódu Google je, že vám umožní vytvoriť anonymnú verziu pre váš projekt iba na čítanie. Ak sa nechcete vyrovnať s ťažkosťami pri vytváraní vlastného projektu, môžete anonymne skontrolovať tento úložisko spisovateľa.

Jedna poznámka o projekte hotfortech: Tento projekt by mal byť obalom pre funkcie, ktoré boli pridané do DD-WRT na How-To Geek (ktoré ja osobne používam) a niektoré osobné vylepšenia. Zatiaľ čo tento projekt je zameraný na prácu v spojení s publikovanými článkami o tom, ako to je, je to stále môj súkromný projekt. To znamená, že je veľmi vhodný pre môj Buffalo router (AR71xx architektúra), moje osobné rozmary a je náchylný k občasnej borkage.

V systéme Linux / DD-WRT

Vytvorte adresár, do ktorého chcete pracovať, napríklad na DD-WRT, ktorý by mohol byť:

mkdir -p /jffs/svn; cd /jffs/svn

Kompletný príkaz na Linuxe pozostáva zo samotného príkazu SVN, direktívy "checkout", adresy úložiska a adresára na pokladni. Vytvorte prázdny adresár a spustite príkaz nižšie:

svn checkout https://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only

Berte na vedomie, že vo vyššie uvedenom príklade je verzia len na čítanie odhlásená. Ak ste si zvolili vytvorenie vlastného úložiska, budete musieť použiť odkaz httpS.

V systéme Windows

Pretože korytnačka je prípona pre shell, budete musieť použiť kontextovú ponuku programu Windows Explorer (kliknutím pravým tlačidlom myši). V skutočnosti, ak sa ho pokúsite vyvolať z úvodného menu, dostanete:

Image
Image
  • Vytvorte prázdny adresár.
  • Kliknutím naň pravým tlačidlom otvoríte kontextové menu.
  • Zvoľte "SVN Checkout":

    Image
    Image
  • Skopírujte a prilepte odkaz na projekt (ak ho máte) do textového poľa "URL":

    Image
    Image
  • V závislosti od veľkosti vášho projektu to môže chvíľu trvať, ale po dokončení procesu "Checkout" by ste mali vidieť niečo ako:

    Image
    Image
  • Môžete sa začať rozvíjať.

Aktualizovať a združovať svoju pracovnú kópiu Ak vaša práca s kódom s kolegami alebo sami vy aktualizujete kód z viacerých miest (napr. Laptop, pracovný stôl alebo dokonca smerovač), budete musieť aktualizovať svoju pracovnú kópiu ešte predtým, než odovzdáte najnovšie zmeny.

V systéme Linux / DD-WRT

Príkaz na vykonanie týchto úloh v týchto systémoch POSIX je jednoducho:

svn up

V systéme Windows

  • Kliknite pravým tlačidlom myši na pracovný adresár a zvoľte "SVN Update":

    Image
    Image
  • Ak narazíte na konflikty, pokúste sa postupovať podľa inštrukcií na obrazovke a používajte svoj názor na to, čo s nimi urobiť.

"Zmeňte" svoje zmeny To je, mali by ste byť bez konfliktu a pripravení aktualizovať úložisko so svojimi zmenami. Treba poznamenať, že je bežnou praxou pridať do programu "log" správu, aby ste si ľahko mohli spomenúť, prečo boli zmeny vykonané. V skutočnosti je to úložisko spoločnosti Google povinným predpokladom páchania.

V systéme Linux / DD-WRT

Toto je príklad záväzku, ktorý som urobil k projektu hotfortech, ktorý ho rozšíril na verziu 19:

svn commit -m “updated to reflect new ant-ads pack link”

V systéme Windows

  • Kliknite pravým tlačidlom na pracovný adresár a zvoľte "SVN Commit":

    Image
    Image
  • Mali by ste byť privítaní oknom, ktoré vám umožňuje zaznamenať správu denníka:

    Image
    Image
  • Stlačte tlačidlo OK a po zobrazení výzvy na zadanie hesla zadajte heslo generované spoločnosťou Google.
  • Ak bola závada úspešná, mali by ste vidieť niečo ako:

    Image
    Image
  • To je to, že by ste mali byť schopní páchať ako BOSS.

Záverečné poznámky To by malo stačiť, aby ste začali. Odporúčame vám čítať referenčné knihy SVN, aby ste získali hlbšie a lepšie pochopenie všetkých zvyklostí, možností a námietok SVN. Ďalej vám pripomíname, že subverzia nie je jediným verifikačným systémom verzie a GIT (ktorý vytvoril zakladateľ Linuxového kernelu Linus Torvalds) sa zdá, že v posledných rokoch získava popularitu.

Ak sa rozhodnete pre spustenie "run-config.sh" z projektu hotfortech na vašom routeri, zistíte, že to práve pre vás bude inštalovať: anti-reklamný balík, skript Opkg geek-init, rovnako ako veci ako plné GNU "ls", "menej", "BASH" a ďalšie.

/jffs/svn/hotfortech-dd-wrt/running-conf.sh

Ďalšie funkcie sa čakajú a budú pridané aj v budúcnosti.

Administrátori systému budú kódovať cestu von z kódovania.

Odporúča: