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.
-
Na ďalšej stránke vyplňte povinné polia a zvoľte typ "verzie riadiaceho systému", ktorý má byť subversion.
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.
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:
- 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 na 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 dokončení procesu "Checkout" by ste mali vidieť niečo ako:
- 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":
- 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":
-
Mali by ste byť privítaní oknom, ktoré vám umožňuje 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 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.