Versijos stebėjimas su "Subversion" (SVN) pradedantiesiems

Turinys:

Versijos stebėjimas su "Subversion" (SVN) pradedantiesiems
Versijos stebėjimas su "Subversion" (SVN) pradedantiesiems

Video: Versijos stebėjimas su "Subversion" (SVN) pradedantiesiems

Video: Versijos stebėjimas su "Subversion" (SVN) pradedantiesiems
Video: Windows 10 Remove Blur from Login Screen - YouTube 2024, Kovas
Anonim
Ar kada nors norėjote dirbti su projektu, galinčiu stebėti savo pakeitimus ir grąžinti juos? "How-To Geek" paaiškina "How-To" populiariosios sekimo sistemos, "Subversion" (a.k.a SVN), naudojimą.
Ar kada nors norėjote dirbti su projektu, galinčiu stebėti savo pakeitimus ir grąžinti juos? "How-To Geek" paaiškina "How-To" populiariosios sekimo sistemos, "Subversion" (a.k.a SVN), naudojimą.

Vaizdas akivaizdžiai nesuderinamas

Prelogas

Šio vadovo tikslas - suteikti jums galimybę naudoti "subversion" klientą apskritai, o jei turite - "DD-WRT" maršrutizatorių. Šis vadovas jokiu būdu nėra galutinis "Subversion" vadovas ir daug informacijos galima rasti "Subversion" raudonoje knygoje. Šis vadovas skirtas tik trumpesniu atsakymu į pagrindinius klausimus.

Apžvalga

Gali būti daugybė priežasčių, kodėl jūs norėtumėte, kad galėtumėte "nusipirkti" naujausią programinės įrangos projekto kodą, kuris naudoja versijų sistemą. Tai leidžia jums pasinaudoti naujausiais neišleistais pakeitimais, padėti atlikti testavimą ir netgi tobulėti. Šiame vadove apžvelgsime keletą pagrindinių SVN terminų, parodysime, kaip įdiegti SVN klientą "Linux" sistemoje "Windows" ir jei turite vieną savo OPKG įgalintą DD-WRT maršrutizatorių. Mes taip pat įtraukėme projekto pavyzdį, kurį galite nusipirkti ir naudoti minėtam maršrutizatoriui.

Kas yra "Subversion"?

"Subversion" jokiu būdu nėra vienintelė egzistuojančių versijų valdymo sistema, o alternatyvos - "Git" (kurią sukūrė Linusas Torvalds, "Linux" branduolio įkūrėjas), Mercurial ir "Perforce" pavadino keletą. Tai sakydamas, tai yra vienas iš laisvųjų, jis brandinamas ir plačiai naudojamas visame pasaulyje.

Iš Subversion "Raudonoji knyga":

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

Pastaba: ši knyga yra galutinis žinių apie subversiją rinkimas, ir jūs patariama kreiptis į jį visose su Subversion susijusiose temose.

Kas yra versijos?

Versijų versijos yra procesas, kai tam tikru metu yra išsaugota projekto būklė. Tokios procedūros rūšis dažnai naudojama programinės įrangos kūrimui valdyti, todėl darbas gali toliau tobulinti projektą arba pridėti funkcijų, tuo pačiu metu galima stebėti, kas pasikeitė iš paskutinio bendro "taupymo" taško. Norint išsiaiškinti, tokia procedūra gali būti naudinga vienam asmeniui, bet dar labiau tai, kad grupė žmonių, kurie dirba tame pačiame projekte. Taip yra todėl, kad paprastai, kai dirbate projektui kaip grupė, yra atsakomybės pasiskirstymas, o skirtingi žmonės keičia skirtingus projekto aspektus. Be versijų mechanizmo, būtų labai sunku visiems išlaikyti sinchronizavimą, atsižvelgiant į naujausius darbinius pakeitimus iš visų kitų.

Terminologija

Saugykla Talpykla yra ta vieta, kurioje išsaugomi visi skirtingų vietų duomenys. "Subversijos" pasaulyje, kliento požiūriu, yra serveris, kuriame saugoma projekto duomenų bazė. Šioje duomenų bazėje yra visi failai, kurie yra projekto dalis su visomis ankstesnėmis versijomis.

Peržiūra

Sukūrus saugyklą, jam suteikiamas nulio (0) peržiūros numeris. Šis skaičius padidinamas vienu (1) kiekvieną kartą, kai vykdomas įsipareigojimas. Perdavimo numeris yra bendras saugyklos. Tai reiškia, kad atskirų failų, esančių saugykloje, individualaus redagavimo numerio nėra, net jei nieko nepakeitė toje byloje tam konkrečiam įsipareigojimui.

Darbo kopija

Darbo kopija yra konkrečios versijos vietinė kopija (arba "atsiskaitymas"). Paprastai ši versija, kai išregistruojama, yra "naujausia" (taip pat vadinama "galva"), tačiau gali būti prašoma ankstesnės versijos. Vartotojas gali su vietos kopija padaryti viską, ko jis nori, žinodamas, kad blogiausiu atveju jie gali tik iš naujo nuskaityti kodą. Be to, ši kopija yra "privati". Taip yra todėl, kol neatnaujinsite arba nepadarysite kopijos, nematysite kitų žmonių pakeitimų ir nematysite jūsų.

Atnaujinimas ir konfliktų sprendimas

Vietinę darbo kopiją galima atnaujinti. Tai reiškia, kad jei "išregistravote" tam tikrą versiją ir dirbate, atnaujinta versija saugykloje, galite atnaujinti savo darbo kopiją iki naujausios. Iš tiesų, serveris neleis atlikti pakeitimų prieš atnaujindamas iki naujausios versijos, kad atitiktų saugyklą. Tai daroma, norint priversti jus spręsti konfliktus vietoje, prieš net galvodami apie pakeitimų saugojimą.

Sujungimas

Sujungimas reiškia procesą, kurio metu pakeistas kodas sumaišomas į vieną versiją. Tai taip pat gali sukelti konfliktų sprendimą.

Įsipareigoja

Įsipareigojimas - tai procesas, kurio metu jūsų vietinės kopijos pakeitimai bus vėl sujungti į saugyklą. Tai yra labiausiai pavojinga proceso dalis, nes čia yra tai, kad atlikę pakeitimai gali paveikti kitus žmones, naudojančius tą pačią saugyklą. Štai kodėl tai paprastai daroma po tam tikro svarstymo, kai komanda sutaria ir kai jūs išsprendžiate visus susijungiančius konfliktus.

Darbo eiga

Esminis darbo srautas iš naudotojo perspektyvos naudojant subversiją yra toks:

1. Išmokite esamą kodą (paprastai "galva"). 2. Padarykite pakeitimus, pridėkite failus ir paprastai kurkite kodą. 3. Atnaujinkite iki naujausios versijos, kad įsitikintumėte, ar jūsų vietinė kopija yra sinchronizuojama su saugyklos naujinimais. 4. Vietoje sujungti ir išspręsti konfliktus, jei reikia. 5. Prijunkite sujungtus pakeitimus į saugyklą. 6. Eikite į 2 žingsnį.

Leidžia sugriauti

Įdiekite klientą

Kad galėtumėte naudoti "Subversion", turite įdiegti klientą savo kompiuteryje.

Linux

Jums reikia tik įdiegti paketą. Ubuntu / monetų kalykla, tai būtų padaryta naudojant:

sudo aptitude install subversion

DD-WRT

Jei atlikote "Kaip įdiegti papildomą programinę įrangą savo namų maršrutizatoriuje (DD-WRT)", jūs galite įdiegti svn klientą paprasčiausiai išdavus:

opkg update; opkg install subversion-client

"Windows"

Nors mes giliai "geek" vartotojai gali pradėti pamiršti, kad GUI netgi egzistuoja kartais, ne visi. Jei norite prisijungti prie SVN saugyklos naudodami "Windows" klientą, labiausiai populiarus yra "Vėžlys". Jei norite jį naudoti, tiesiog atsisiųskite programą ir įdiekite įprastą "kitą, kitą, apdailą".

Sukurkite "saugyklą"

Nors mes nenagrinėsime daug detalių, kaip įdiegti "subversion" serverį šiame vadove, "Google" alternatyva nėra bloga pradedančiajam vartotojui. Norėdami sukurti "Google" saugyklą:

  • Eikite į "Google Code" prieglobos svetainę ir "sukurkite" naują projektą.

    Image
    Image
  • Kitame puslapyje užpildykite reikiamus laukus ir pasirinkite "versijos valdymo sistemos" tipą, kad jis būtų subversionas.

    Image
    Image

    Pastaba: galbūt norėsite sužinoti, koks yra skirtumas tarp licencijų "Google" pasiūlymo, prieš pasirinkdami vieną iš projekto.

  • Spustelėkite "Sukurti projektą".

" Patikrinkite" savo darbo kopiją

Kai jūsų projektas bus sukurtas, turėsite rasti instrukcijas, kaip jį pasiekti, skirtuke "Šaltinis".

Gražus dalykas, susijęs su "Google" kodu, yra tas, kad jis leis jūsų projektui anoniminę tik skaitymo versiją. Jei nenorite susidoroti su savo projekto sukūrimu, galite anonimiškai nusipirkti šio rašytojo saugyklą.
Gražus dalykas, susijęs su "Google" kodu, yra tas, kad jis leis jūsų projektui anoniminę tik skaitymo versiją. Jei nenorite susidoroti su savo projekto sukūrimu, galite anonimiškai nusipirkti šio rašytojo saugyklą.

Viena pastaba apie "hotfortech" projektą: šis projektas skirtas funkcijoms, kurios buvo pridėtos prie "DD-WRT" "How-To Geek" (kurį aš asmeniškai naudojau) ir keletas asmeninių tweaks, apvyniojimui. Nors šis projektas yra skirtas dirbti kartu su straipsniais, paskelbtais čia "howtogeek", jis vis dar yra mano privatus projektas. Tai yra, tai labai tinka mano Buffalo maršrutizatoriui (AR71xx architektūra), mano asmeniniams kaprizams ir yra linkęs į retkarčiais borkage.

Linux / DD-WRT

Sukurkite katalogą, kuris veiktų, pavyzdžiui, DD-WRT, kuris gali būti:

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

Visą Linux komandą sudaro pats SVN komanda, "kasos" direktyva, saugyklos adresas ir aplankas taip pat. Sukurkite tuščią katalogą ir paleiskite žemiau esančią komandą:

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

Atkreipkite dėmesį, kad aukščiau pateiktame pavyzdyje tikrinama tik versija tik skaityti. Jei nusprendėte sukurti savo saugyklą, turėsite naudoti httpS nuorodą.

"Windows"

Kadangi vėžlys yra lukšto plėtinys, norint jį naudoti, turėsite naudoti konteksto meniu "Windows" failų tyrėjas (dešiniuoju pelės klavišu). Tiesą sakant, jei bandysite pakviesti jį iš meniu Pradėti, gausite:

Image
Image
  • Sukurkite tuščią katalogą.
  • Dešiniuoju pelės mygtuku spustelėkite jį, kad pamatytumėte kontekstinio meniu.
  • Pasirinkite "SVN Checkout":

    Image
    Image
  • Kopijuoti ir įklijuoti projekto nuorodą (jei turite) į "URL" teksto laukelį:

    Image
    Image
  • Atsižvelgiant į jūsų projekto dydį, tai gali užtrukti, bet kai baigsite "Checkout", turėtumėte pamatyti kažką panašaus:

    Image
    Image
  • Galite pradėti kurti.

"Atnaujinti" ir "sujungti" savo darbo kopiją Jei jūsų darbas su kodu su kolegomis arba savarankiškai atnaujina kodą iš kelių vietų (pvz., Nešiojamojo kompiuterio, stalinio kompiuterio ar net maršrutizatoriaus), prieš atlikdami naujausius pakeitimus turėsite atnaujinti savo darbo kopiją.

Linux / DD-WRT

Komandai tai daryti šiose POSIX sistemose paprasčiausiai:

svn up

"Windows"

  • Dešiniuoju pelės mygtuku spustelėkite darbo kataloge ir pasirinkite "SVN atnaujinimas":

    Image
    Image
  • Jei susidūrėte su konfliktais, pabandykite laikytis ekrano nurodymų ir pasinaudokite savo nuomone, ką daryti su jais.

"Įsipareigokite" savo pakeitimus Tai yra, jūs neturėtumėte konflikto ir esate pasiruošę atnaujinti saugyklą su savo pakeitimais. Čia reikia atkreipti dėmesį į tai, kad įprasta įtraukti "log" pranešimą į įsipareigojimą, kad būtų galima lengvai prisiminti, kodėl atlikti pakeitimai. Iš tikrųjų "Google" saugykla daro tai privalomą išankstinį reikalavimą įsipareigoti.

Linux / DD-WRT

Tai pavyzdys, kurį aš padariau "hotfortech" projektui, kuris pagreitino versiją 19:

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

"Windows"

  • Dešiniuoju pelės mygtuku spustelėkite darbo kataloge ir pasirinkite "SVN Commit":

    Image
    Image
  • Jums turėtų būti pasveikintas langas, leidžiantis jums pažymėti žurnalo pranešimą:

    Image
    Image
  • Paspauskite OK ir, kai pasirodys slaptažodis, pateikite "Google" sugeneruotą slaptažodį.
  • Jei įsipareigojimas buvo sėkmingas, turėtumėte pamatyti kažką panašaus:

    Image
    Image
  • Tai yra, jūs turėtumėte sugebėti prisiimti kaip BOSS.

Galutinės pastabos Tai turėtų pakakti, kad pradėtumėte. Patariama perskaityti SVN žinynus, kad giliau ir geriau suprastumėte visus SVN naudojimo būdus, pasirinkimus ir įspėjimus. Be to, mes primename jums (dar kartą), kad "subversion" yra ne tik vienintelė versija valdymo sistema, o GIT (kuri buvo sukurta Linuso Torvaldso, Linux branduolio įkūrėjo) pastaraisiais metais populiarėja.

Jei pasirinksite paleisti "run-config.sh" iš "hotfortech" projekto savo maršrutizatoriuje, pamatysite, kad jis šiuo metu įdiegs jums: "Anti-ads-pack", "Opkg geek-init" scenarijų, taip pat tokie dalykai kaip visa GNU "ls", "mažiau", "BASH" ir dar daugiau.

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

Daugiau funkcijų laukiama ir bus pridėta ateityje.

Sistemos administratoriai koduoja savo išeitį iš kodavimo.

Rekomenduojamas: