Sledovanie verzií so subversiou (SVN) pre začiatočníkov
Už ste niekedy chceli pracovať na projekte so schopnosťou sledovať vaše zmeny a vrátiť ich späť? How-To Geek vysvetľuje, ako-Ak chcete 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 ste mohli 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 nezverejnené zmeny, pomôcť pri testovaní a dokonca aj vývoji. V tejto príručke nájdete niekoľko základných terminológií SVN, ukážte, 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 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. S tým povedal, že je jedným z voľných, je zrelý a je široko používaný po celom svete.
Z Subversion "Red Book":
Subversion je voľný / open source systém riadenia verzií (VCS). To znamená, že Subversion spravuje súbory a adresáre a ich zmeny v priebehu času. To vám umožní obnoviť staršie verzie vašich údajov alebo preskúmať históriu zmeny vašich údajov. V tomto ohľade mnohí ľudia považujú systém riadenia verzie za akýsi "stroj času".
Poznámka: Táto kniha je konečný zber 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 určitom č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 je schopná sledovať to, čo sa zmenilo od posledného celkového bodu "save". Ak chcete vypracovať, tento postup môže byť užitočný pre jednu osobu, ale ešte viac pre skupinu ľudí, ktorí pracujú na tom istom projekte. Dôvodom je to, ž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 na vytváranie verzií by bolo veľmi ťažké udržať všetkým v synchronizácii najnovšie pracovné zmeny od všetkých ostatných.
terminológie
Úložisko
Úložisko je miesto, kde sú uložené všetky dáta zo všetkých rôznych miest. Vo svete podvracania 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
Pri vytvorení úložiska je jej čí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 aj vtedy, ak sa v tomto súbore v danom súbore nič nezmenilo..
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 robiť 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 zmene úložiska.
zlúčenie
Zlúčenie odkazuje na proces, ktorým sa zmenený kód zmiešal do jednej verzie. Môže to tiež znamenať riešenie konfliktov.
COMMIT
Záväzok je proces, v ktorom sa zmeny, ktoré ste urobili v miestnej kópii, zlúčia späť do úložiska. Toto je najnebezpečnejšia časť procesu, pretože práve tu zmeny, ktoré ste urobili, môžu mať vplyv na iných ľudí, ktorí používajú rovnaký úložisko. To je dôvod, prečo sa to zvyčajne robí po nejakej úvahe, s konsenzom tímu a po vyriešení akýchkoľvek fúzujúcich konfliktov.
Pracovný postup
Najzákladnejší pracovný postup z pohľadu používateľa pri používaní subverzie je nasledovný:
1. Kontrola existujúceho kódu (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 v úložisku.
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.
Umožní to prasknúť
Nainštalujte klienta
Aby ste mohli používať subversion, musíte nainštalovať klienta na svojom počítači.
Na Linuxe
Stačí, ak balík nainštalujete. Na Ubuntu / Mint by to bolo vykonané s:
sudo aptitude install subversion
Na DD-WRT
Ak ste sa riadili postupom "Ako nainštalovať dodatočný 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 "Next, Next, finish" módy.
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 úložiska Google:
- Prejdite na stránku Google Code hosting a vytvorte nový projekt.
- Na ďalšej stránke vyplňte požadované polia a zvoľte typ "verzie systému riadenia", ktorý má byť subversion.
Poznámka: Možno budete chcieť pozrieť, aký je rozdiel medzi ponukou licencií Google, skôr než vyberiete jednu z nich pre projekt. - Kliknite na položku "Vytvoriť projekt".
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 len na čítanie. Ak sa nechcete zaoberať problémom s vytváraním vlastného projektu, môžete anonymne skontrolovať toto úložisko spisovateľa.
Jedna poznámka o projekte hotfortech: Tento projekt má 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 súvislosti s publikovanými článkami o tom, ako to je, stále je to 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.
Na Linuxe / DD-WRT
Vytvorte adresár, do ktorého chcete pracovať, napríklad na DD-WRT, ktorý by mohol byť:
mkdir -p / jfs / 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 vykonajte príkaz nižšie:
svn pokladňa http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only
Berte na vedomie, že vo vyššie uvedenom príklade sa verzia len na čítanie skontroluje. 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é menu aplikácie Windows Explorer (kliknutím pravým tlačidlom myši). V skutočnosti, ak sa ho pokúsite vyvolať z úvodného menu, dostanete:
- Vytvorte prázdny adresár.
- Kliknutím naň pravým tlačidlom otvoríte kontextové menu.
- Zvoľte "SVN Checkout":
- Skopírujte a prilepte odkaz pre projekt (ak ho máte) do textového poľa "URL":
- V závislosti od veľkosti vášho projektu to môže chvíľu trvať, ale po skončení procesu "Checkout" by ste mali vidieť niečo ako:
- Môžete sa začať rozvíjať.
"Aktualizovať" a "Zlúčiť" 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. Prenosný počítač, počítač alebo dokonca smerovač), budete musieť aktualizovať svoju pracovnú kópiu skôr, ako sa zaviažete na najnovšie zmeny.
Na Linuxe / DD-WRT
Príkaz na vykonanie tohto postupu 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":
- Ak narazíte na konflikty, pokúste sa postupovať podľa inštrukcií na obrazovke a používajte úsudok o tom, čo s nimi robiť.
"Zmeňte" svoje zmeny
To znamená, že by ste mali byť bez konfliktu a pripravení aktualizovať úložisko so svojimi zmenami.
Jediným bodom, ktorý treba poznamenať, je, že je bežnou praxou pridať správu "log" k potvrdeniu, aby ste si ľahko mohli spomenúť, prečo boli zmeny vykonané. V skutočnosti je to úložisko spoločnosti Google povinným predpokladom spáchania.
Na Linuxe / DD-WRT
Toto je príklad záväzku, ktorý som vykonal k projektu hotfortech, ktorý ho rozšíril na verziu 19:
svn commit -m "aktualizované tak, aby odzrkadľovali nový balík odkazov ant-ads"
V systéme Windows
- Kliknite pravým tlačidlom myši na pracovný adresár a zvoľte "SVN Commit":
- Mali by ste byť privítaní oknom, ktoré vám umožní zaznamenať správu denníka:
- 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:
- 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, aby ste si prečítali referenčné knihy SVN, aby ste získali hlbšie a lepšie pochopenie všetkých zvyklostí, možností a námietok SVN. Tiež vám (opäť) pripomíname, že subversion nie je jediný verzia riadiaci systém tam a GIT (ktorý bol vytvorený Linus Torvalds zakladateľ Linuxového jadra) sa zdá, že získava popularitu v posledných rokoch.
Ak sa rozhodnete spustiť program "run-config.sh" z projektu hotfortech vo vašom smerovači, 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.