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ą.
-
Kitame puslapyje užpildykite reikiamus laukus ir pasirinkite "versijos valdymo sistemos" tipą, kad jis būtų subversionas.
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".
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:
- Sukurkite tuščią katalogą.
- Dešiniuoju pelės mygtuku spustelėkite jį, kad pamatytumėte kontekstinio meniu.
-
Pasirinkite "SVN Checkout":
-
Kopijuoti ir įklijuoti projekto nuorodą (jei turite) į "URL" teksto laukelį:
-
Atsižvelgiant į jūsų projekto dydį, tai gali užtrukti, bet kai baigsite "Checkout", turėtumėte pamatyti kažką panašaus:
- 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":
- 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":
-
Jums turėtų būti pasveikintas langas, leidžiantis jums pažymėti žurnalo pranešimą:
- 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:
- 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.