Domača » kako » Spremljanje različic s sistemom Subversion (SVN) za začetnike

    Spremljanje različic s sistemom Subversion (SVN) za začetnike

    Ali ste že kdaj želeli delati na projektu, ki bi lahko spremljal vaše spremembe in jih povrnil? Kako naj Geek razloži Kako uporabiti priljubljen sistem za sledenje različic, Subversion (a.k.a SVN).

    Slika z jasno dvoumno

    Prelog

    Namen tega priročnika je, da vam omogoči, da uporabite naročnika subverzije na splošno in, če ga imate, na vašem * DD-WRT usmerjevalniku. Ta vodnik nikakor ni dokončni vodnik za Subversion, veliko informacij pa je na voljo v rdeči knjigi Subversion. Ta priročnik je namenjen zgolj stenografskemu odgovoru na najbolj osnovna vprašanja.

    Pregled

    Obstajajo lahko številni razlogi, zakaj bi želeli, da bi lahko »pregledali« najnovejšo kodo za projekt programske opreme, ki uporablja sistem za spreminjanje različic. To vam omogoča, da izkoristite najnovejše še neizdane spremembe, pomagate pri testiranju in celo razvoju. V tem priročniku bomo pregledali nekatere osnovne SVN terminologije, pokazali, kako namestiti SVN odjemalca na Linux, Windows in če imate enega svojega OPKG usmerjevalnika DD-WRT. Vključili smo tudi primer projekta, ki ga lahko pregledate in uporabite za omenjeni usmerjevalnik.

    Kaj je Subversion?

    Subversion nikakor ni edini obstoječi sistem za nadzor različic, medtem ko alternative vključujejo Git (ki ga je ustvaril Linus Torvalds, ustanovitelj jedra Linuxa), Mercurial in PerForce. S tem je dejal, da je eden od prostih, je zrel in je v veliki meri uporabljajo po vsem svetu.

    Izven Redakcije »Red Book«:

    Subversion je prost / odprtokoden sistem za nadzor različic (VCS). To pomeni, da Subversion sčasoma upravlja datoteke in imenike ter njihove spremembe. To vam omogoča obnovitev starejših različic podatkov ali pregled zgodovine spreminjanja vaših podatkov. V zvezi s tem mnogi ljudje menijo, da je sistem za nadzor različic nekakšen »časovni stroj«.

    Opomba: Ta knjiga je popolno zbiranje znanja o subverziji in vam svetujemo, da se sklicujete nanj na vse teme, povezane s Subversion.

    Kaj je različica?

    Različica je proces, pri katerem se stanje projekta v določenem trenutku shrani. Ta vrsta postopka se pogosto uporablja za upravljanje razvoja programske opreme, tako da lahko delo nadaljuje z izboljševanjem projekta ali dodajanjem funkcij, hkrati pa lahko spremlja, kaj se je spremenilo od zadnje splošne točke »shrani«. Ta postopek je lahko uporaben za eno osebo, še bolj pa za skupino ljudi, ki delajo na istem projektu. To je zato, ker običajno pri delu na projektu kot skupini obstaja porazdelitev odgovornosti in različni ljudje spremenijo različne vidike projekta. Brez mehanizma za upravljanje različic bi bilo zelo težko sinhronizirati najnovejše delovne spremembe od vseh drugih.

    Terminologija

    Skladišče
    Skladišče je mesto, kjer so shranjeni vsi podatki iz vseh različnih krajev. V subverzijskem svetu je z vidika stranke strežnik, ki hrani bazo podatkov projekta. Ta baza podatkov vsebuje vse datoteke, ki so del projekta z vsemi njihovimi prejšnjimi različicami.

    Revizija

    Ko je repozitorij ustvarjen, dobi številko revizije nič (0). To število se poveča za eno (1) vsakič, ko se izvede objava. Številka revizije je globalna za skladišče. To pomeni, da za posamezne datoteke v skladišču ni posamezne številke revizije, tudi če se v tej datoteki ni spremenilo nič posebnega.

    Delovna kopija

    Delovna kopija je lokalna kopija (ali »checkout«) določene različice. Običajno je ta različica, ko je odjavljena, »najnovejša« (imenovana tudi »glava«), vendar se lahko zahteva prejšnja. Uporabnik lahko z lokalno kopijo stori vse, kar si želi, vedoč, da lahko v najslabšem primeru ponovno preverijo kodo. Poleg tega je ta kopija »zasebna«. To je zato, ker dokler ne posodobite ali objavite svoje kopije, ne boste videli sprememb drugih ljudi, niti ne bodo videli vaših.

    Posodabljanje in reševanje konfliktov

    Lokalno delovno kopijo lahko posodobite. To pomeni, da če ste »odjavili« določeno različico, in ko ste delali, je bila posodobljena različica v skladišču, delovno kopijo lahko posodobite na najnovejšo različico. Pravzaprav vam bo strežnik preprečil, da bi spremembe izvedli pred posodobitvijo na najnovejšo različico, da se bo ujemala z repozitorijem. To storite tako, da vas prisilite, da lokalno rešujete konflikte, še preden pomislite na spremembe v skladišču.

    Združitev

    Združitev se nanaša na postopek, s katerim se spremenjena koda zmeša v eno različico. To lahko pomeni tudi reševanje sporov.

    Obveznosti

    Obveščanje je postopek, v katerem se spremembe, ki ste jih naredili v vaši lokalni kopiji, združijo nazaj v skladišče. To je najbolj nevaren del procesa, saj lahko spremembe, ki ste jih naredili, vplivajo na druge ljudi, ki uporabljajo isto skladišče. Zato se to ponavadi opravi po določenem premisleku, s soglasjem ekipe in po tem, ko ste rešili morebitne spore.

    Potek dela

    Najosnovnejši potek dela z vidika uporabnika pri uporabi subverzije je ta:

    1. Preverite obstoječo kodo (običajno »glavo«).
    2. Naredite spremembe, dodajte datoteke in na splošno razvijete kodo.
    3. Posodobite na najnovejšo različico in se prepričajte, da je vaša lokalna kopija sinhronizirana s posodobitvami v skladišču.
    4. Lokalno spajanje in reševanje sporov, če je potrebno.
    5. Združite spremembe v skladišču.
    6. Na korak 2.

    Lupimo se

    Namestite stranko

    Če želite uporabljati subverzijo, morate namestiti odjemalca na vaš računalnik.

    V Linuxu

    Namestiti morate samo paket. Na Ubuntu / Mint, bi to storili z:

    sudo aptitude namesti subversion

    Na DD-WRT

    Če ste sledili “Kako namestiti dodatno programsko opremo na vaš domači usmerjevalnik (DD-WRT)”, lahko namestite odjemalec svn, tako da preprosto izdate:

    posodobitev opkg; opkg namesti subversion-odjemalca

    V operacijskem sistemu Windows

    Medtem ko smo globoko geek uporabniki lahko začnete pozabiti, da GUI celo obstaja na trenutke, ni vsakdo ima. Če želite uporabiti odjemalca za Windows za povezavo s skladiščem SVN, je daleč najbolj priljubljen »Tortoise«. Če ga želite uporabiti, preprosto prenesite program in namestite na običajen »naslednji, naslednji, končni« način.

    Ustvarite »skladišče«

    Medtem ko v tem priročniku ne bomo podrobno opisali, kako namestiti strežnik Subversion, Googlova alternativa za začetnika ni slab začetek. Če želite ustvariti Google skladišče:

    • Pojdite na spletno mesto za gostovanje Googlove kode in ustvarite nov projekt.
    • Na naslednji strani izpolnite zahtevana polja in izberite vrsto »sistema za nadzor različic«, ki je subverzijska.

      Opomba: Morda boste želeli pregledati, kakšna je razlika med licencami, ki jih ponuja Google, preden izberete enega za projekt.
    • Kliknite »Ustvari projekt«.
    “Checkout” vašo delovno kopijo

    Ko je projekt ustvarjen, morate najti navodila za dostop do njih na zavihku »Vir«.

    Lepa stvar pri Googlovi kodi je ta, da bo omogočila anonimno različico samo za branje za vaš projekt. Če se ne želite ukvarjati s težavami pri ustvarjanju lastnega projekta, lahko anonimno pregledate repozitorij tega pisatelja..

    Ena opomba o projektu hotfortech: Ta projekt naj bi bil ovoj za funkcije, ki so bile dodane DD-WRT-ju na How-To Geek (ki ga osebno uporabljam) in nekaj osebnih popravkov. Čeprav je ta projekt namenjen delu v povezavi s članki, objavljenimi tukaj na howtogeek, je to še vedno moj zasebni projekt. To pomeni, da je zelo primeren za moj Buffalo usmerjevalnik (AR71xx arhitektura), moje osebne muhe in je nagnjen k občasnemu borkageju..

    V Linuxu / DD-WRT

    Ustvarite imenik za delo, na primer na DD-WRT, ki je lahko:

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

    Popoln ukaz v Linuxu je sestavljen iz samega ukaza SVN, "checkout" direktive, naslova skladišča in imenika za prevzem. Ustvarite prazen imenik in izvedite spodnji ukaz:

    svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ samo za branje

    Upoštevajte, da se v zgornjem primeru preverja različica samo za branje. Če ste se odločili za ustvarjanje lastnega skladišča, boste morali uporabiti povezavo httpS.

    V operacijskem sistemu Windows

    Ker je želva razširitev lupine, boste morali uporabiti kontekstni meni programa Windows File Explorer (desni klik), da ga uporabite. Pravzaprav, če ga poskusite priklicati iz začetnega menija, boste dobili:

    • Ustvarite prazen imenik.
    • Z desno miškino tipko kliknite, da se prikaže kontekstni meni.
    • Izberite »SVN Checkout«:
    • Kopirajte in prilepite povezavo za projekt (če ga imate) v polje »URL«:
    • Odvisno od velikosti vašega projekta lahko to traja nekaj časa, ko pa se opravi »Checkout«, morate videti nekaj podobnega:
    • Lahko se začnete razvijati.

    »Posodobi« in »Združi« vašo delovno kopijo
    Če delate na kodi s sodelavci ali sami posodabljate kodo iz več lokacij (npr. Prenosni računalnik, namizni računalnik ali celo usmerjevalnik), boste morali pred objavo najnovejših sprememb posodobiti delovno kopijo..

    V Linuxu / DD-WRT

    Ukaz za to na teh sistemih POSIX je preprosto:

    svn up

    V operacijskem sistemu Windows

    • Desno kliknite v delovni imenik in izberite »SVN Update«:
    • Če naletite na konflikte, poskusite slediti navodilom na zaslonu in uporabite svojo presojo o tem, kaj storiti z njimi.

    »Izvršite« spremembe
    To je to, da bi morali biti brez konfliktov in pripravljeni na posodabljanje skladišča s svojimi spremembami.
    Pri tem je treba opozoriti, da je običajna praksa, da se objavi doda sporočilo o dnevniku, da bi se lahko zlahka spomnili, zakaj so bile spremembe izvedene. Googlov repozitorij je to obvezen predpogoj za izvršitev.

    V Linuxu / DD-WRT

    To je primer objave, ki sem jo naredil za projekt hotfortech, ki ga je povečal na različico 19:

    svn commit -m »posodobljeno, tako da odraža povezavo novega paketa ant-ads«

    V operacijskem sistemu Windows

    • Desno kliknite v delovni imenik in izberite »SVN Commit«:
    • Zaželeno vam bo okno, ki vam omogoča, da zabeležite sporočilo dnevnika:
    • Kliknite »V redu« in po pozivu za geslo, dajte geslo za Google.
    • Če je bila objava uspešna, bi morali videti nekaj podobnega:
    • To je to, bi morali biti sposobni storiti kot BOSS.

    Končne opombe
    To bi moralo biti dovolj za začetek. Svetujemo vam, da si preberete referenčne knjige SVN, da bi dobili globlje in boljše razumevanje vseh običajev, možnosti in opozoril SVN. Prav tako vas spomnimo (spet), da subverzija NI edini sistem za nadzor nad različicami, in GIT (ki ga je ustvaril Linus Torvalds, ustanovitelj Linuxovega jedra) se v zadnjih letih zdi vse bolj priljubljen..

    Če se boste odločili za zagon »run-config.sh« iz projekta hotfortech na vašem usmerjevalniku, boste ugotovili, da bo trenutno nameščen za vas: Anti-ads-pack, skript za geek-init Opkg, kot tudi stvari, kot so popolni GNU „ls“, „manj“, „BASH“ in še več.

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

    Več funkcij je v teku in bo dodano v prihodnosti.


    Sistemski administratorji bodo kodirali svojo pot iz kodiranja.