Attēls skaidrs, nepārprotams
Prelogs
Šīs rokasgrāmatas mērķis būs dot jums iespēju izmantot "subversion" klientu kopumā un, ja jums tāds ir, jūsu * DD-WRT maršrutētāju. Šī rokasgrāmata nekādā ziņā nav galīgs ceļvedis Subversion, un daudz informācijas var atrast Subversion Red Book. Šī rokasgrāmata ir paredzēta tikai tam, lai sniegtu jums sfērisko atbildi uz visvienkāršākajiem jautājumiem.
Pārskats
Varētu būt vairāki iemesli, kāpēc jūs vēlētos, lai jūs varētu pārbaudīt jaunāko programmatūras projekta kodu, kurā tiek izmantota versiju sistēma. Tas ļauj jums gūt labumu no jaunākajām vēl neizdevīgākajām izmaiņām, palīdzēt testēšanai un pat attīstībai. Šajā rokasgrāmatā mēs pāriet uz dažām pamata SVN terminoloģijām, parādīsim, kā instalēt SVN klientu Linux, Windows un, ja jums ir viens jūsu OPKG iespējots DD-WRT maršrutētājs. Mēs esam arī iekļāvuši piemēru projektam, kuru varat izrakstīties un izmantot minētajam maršrutētājam.
Kas ir Subversion?
Subversion nekādā gadījumā nav vienīgā pastāvošā versiju vadības sistēma, un alternatīvas ir Git (kuru izveidoja Linus Torvalds, Linux kodolu dibinātājs), Mercurial un Perforce nosaukumu dažiem. Ar to teikts, ka tas ir viens no bezmaksas produktiem, tas ir nobriedis un tiek plaši izmantots visā pasaulē.
No Subversion "Sarkanā grāmata":
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.”
Piezīme: šī grāmata ir galīgo zināšanu apkopošanu par sagrozīšanu, un jums ir ieteicams to atsaukties visos ar Subversion saistītajos jautājumos.
Kas ir versijas?
Versioning ir process, kurā tiek saglabāts projekta stāvoklis kādā brīdī. Šāda veida procedūru bieži izmanto, lai pārvaldītu programmatūras izstrādi, lai darbs varētu turpināt uzlabot projektu vai pievienot funkcijas, vienlaikus spējot izsekot, kas ir mainījies no pēdējā kopējā "saglabāšanas" punkta. Lai izstrādātu, šāda veida procedūra var būt noderīga vienai personai, bet vēl jo vairāk cilvēku grupai, kas strādā pie viena un tā paša projekta. Tas ir tādēļ, ka parasti, strādājot pie projekta kā grupas, tiek sadalīti pienākumi un dažādi cilvēki mainās dažādi projekta aspekti. Bez versijas mehānisma, būtu ļoti grūti saglabāt visus sinhronizēt ar jaunākajām darba izmaiņām no visiem pārējiem.
Terminoloģija
Repozitorija Repozitorija ir vieta, kur saglabāti visi dati no visām dažādajām vietām. No masu iznīcināšanas pasaulē, no klienta viedokļa, tas ir serveris, kurā atrodas projekta datu bāze. Šī datu bāze satur visus failus, kas ir daļa no projekta ar visām iepriekšējām versijām.
Pārskatīšana
Kad repozitorijs ir izveidots, tam tiek piešķirts nulles (0) pārskata numurs. Šo numuru palielina par vienu (1) katru reizi, kad notiek saistība. Pārskatīšanas numurs ir globāls repozitorijai. Tas nozīmē, ka repozitorijā atsevišķu failu nav atsevišķas pārskatīšanas numura, pat ja šajā failā nekas nemainās par konkrēto saistību.
Darba kopija
Darba eksemplārs ir konkrētas versijas vietējā eksemplārs (vai "izrakstīšanās"). Parasti šī versija, kad izrakstīšanās ir "jaunākā" (tā dēvēta arī par "galvu"), bet var pieprasīt iepriekšējo. Lietotājs var ar vietējo kopiju darīt visu, ko viņš / viņa vēlas, ar zināšanām, ka sliktākajā gadījumā viņi varētu vienkārši izrakstīties no koda vēlreiz. Turklāt šī kopija ir "privāta". Tas ir tāpēc, ka, kamēr neesat atjauninājis vai neiesaistījis savu kopiju, jūs neredzēsit citu cilvēku izmaiņas, kā arī neredzēs jūsu.
Atjaunināšana un konfliktu risināšana
Vietējo darba kopiju var atjaunināt. Tas ir, ja jūs "izrakstījāt" noteiktu versiju, un, kamēr strādājat, atjaunināta versija krātuvē, jūs varat atjaunināt savu darba kopiju uz jaunāko. Patiesībā serveris neļaus jums veikt izmaiņas pirms atjaunināt to jaunāko versiju, kas atbilst repozitorijai. Tas tiek darīts, lai piespiestu jūs atrisināt konfliktus lokāli, pirms jūs pat domājat par izmaiņu veikšanu krātuvē.
Apvienošanās
Apvienošana attiecas uz procesu, kurā mainīts kods ir apvienots vienā versijā. Tas var būt saistīts ar konfliktu atrisināšanu.
Apņemas
Apņemšanās ir process, kurā jūsu vietējā kopijā veiktās izmaiņas tiks apvienotas atpakaļ krātuvē. Šī ir visbīstamākā procesa daļa, jo šeit ir veiktas izmaiņas, kas var ietekmēt citus cilvēkus, kuri izmanto to pašu krātuvi. Tāpēc parasti tas tiek darīts pēc kāda apsvēruma, ar komandas vienprātību un pēc tam, kad esat atrisinājis visus apvienojušos konfliktus.
Darbplūsma
Vispilnīgākā darbplūsma no lietotāja viedokļa, ja tiek izmantota subversija, ir šāda:
1. Izrakstīties esošo kodu (parasti "galvu"). 2. Veiciet izmaiņas, pievienojiet failus un parasti izstrādājiet kodu. 3. Atjauniniet jaunāko versiju, lai pārliecinātos, ka jūsu vietējā kopija ir sinhronizēta ar atjauninājumiem krātuvē. 4. Lokāli apvienot un atrisināt konfliktus, ja nepieciešams. 5. Novietojiet apvienotās izmaiņas glabātuvē. 6. GoTo 2. solis.
Ļaujiet sašķelties
Instalējiet Klientu
Lai varētu izmantot pārtveršanu, jums jāinstalē klients jūsu datorā.
Linux sistēmā
Jums ir nepieciešams tikai instalēt paketi. Ubuntu / naudas kaltuve, tas tiks darīts ar:
sudo aptitude install subversion
Par DD-WRT
Ja esat ievērojis "Kā instalēt papildu programmatūru savā mājas maršrutētājā (DD-WRT)", jūs varat instalēt svn klientu, vienkārši izlaižot:
opkg update; opkg install subversion-client
Windows operētājsistēmā
Kaut arī mēs dziļi geek lietotāji var sākt aizmirst, ka GUI pat pastāv reizēm, ne visi ir. Ja jūs vēlaties izmantot Windows klientu, lai izveidotu savienojumu ar SVN repozitoriju, līdz šim populārākais ir "Tortoise". Lai to izmantotu, vienkārši lejupielādējiet programmu un instalējiet regulārā "nākamā, nākamā, beigu" veidā.
Izveidojiet "krātuvi"
Kaut arī šajā rokasgrāmatā mēs neieviesīsim detalizētu informāciju par to, kā iestatīt subversijas serveri, Google alternatīva nav slikts sākums nepieredzējušam lietotājam. Lai izveidotu Google repozitoriju:
-
Pārejiet uz Google Code hostinga vietni un izveidojiet jaunu projektu.
-
Nākamajā lapā aizpildiet obligātos laukus un izvēlieties "Versiju vadības sistēmas" veidu, lai to pārtvertu.
Piezīme. Iespējams, vēlēsieties uzzināt, kāda ir atšķirība starp licenču Google piedāvājumu, pirms jūs to izvēlaties projektam.
- Noklikšķiniet uz "Izveidot projektu".
" Izrakstīties" savu darba kopiju
Tiklīdz jūsu projekts ir izveidots, jums vajadzētu būt iespējai atrast norādījumus, kā to piekļūt cilnē "Avots".
Viena piezīme par hotfortech projektu: Šis projekts ir paredzēts iesaiņojumam par funkcijām, kuras pievienotas DD-WRT par How-To Geek (ko es personīgi lietoju), kā arī dažus personiskus uzlabojumus. Lai gan šis projekts ir paredzēts strādāt kopā ar rakstiem, kas šeit publicēti vietnē howtogeek, tas joprojām ir mans privāts projekts. Tas ir, tas ir ļoti piemērots manu Buffalo maršrutētāju (AR71xx arhitektūra), mana personīgā kaprīze un ir pakļauti gadījuma borkage.
Par Linux / DD-WRT
Izveidojiet direktoriju darbam, piemēram, DD-WRT, kas varētu būt:
mkdir -p /jffs/svn; cd /jffs/svn
Visu Linux komandu veido pati SVN komanda, "izrakstīšanās" direktīva, repozitorija adrese un katalogs, lai arī pārbaudītu. Izveidojiet tukšu direktoriju un izpildiet komandu zemāk:
svn checkout https://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only
Ņemiet vērā, ka iepriekš minētajā piemērā tiek pārbaudīta tikai lasāmā versija. Ja jūs izvēlējāties izveidot savu krātuvi, jums būs jāizmanto httpS saite.
Windows operētājsistēmā
Tā kā bruņurupuča ir čaulas pagarinājums, izmantojiet to, izmantojot Windows failu meklētāja konteksta izvēlni (ar peles labo taustiņu). Faktiski, ja jūs mēģināt to izmantot no sākuma izvēlnes, jūs saņemsit:
- Izveidojiet tukšu direktoriju.
- Ar peles labo taustiņu noklikšķiniet uz tā, lai atvērtu konteksta izvēlni.
-
Atlasiet "SVN Checkout":
-
Kopējiet un ielīmējiet projekta (ja tāda ir) saiti "Īsziņas" URL ":
-
Atkarībā no jūsu projekta lieluma tas var aizņemt laiku, bet, kad Checkout ir pabeigts, jums vajadzētu redzēt kaut ko līdzīgu:
- Jūs varat sākt attīstīties.
"Atjauniniet" un "sapludiniet" savu darba kopiju Ja jūsu darbs ar kodu kopā ar kolēģiem vai jūs paši atjaunina kodu no vairākām vietām (piemēram, klēpjdators, galddators vai pat maršrutētājs), pirms jaunāko izmaiņu izdarīšanas jums būs jāatjauno sava darba kopija.
Par Linux / DD-WRT
Komandai, kas to izdarīs šajās POSIX sistēmās, ir vienkārši:
svn up
Windows operētājsistēmā
-
Ar peles labo pogu noklikšķiniet uz darba direktorijas un atlasiet "SVN atjaunināšana":
- Ja rodas konflikts, pamēģiniet sekot ekrāna instrukcijai un izmantojiet savu vērtējumu par to, kā ar tām rīkoties.
"Iegūstiet" savas izmaiņas Tas ir, jums jābūt bez konfliktiem un gatava atjaunot krātuvi ar jūsu izmaiņām. Šeit jāņem vērā tas, ka parasti ir jāpievieno "log" ziņa, lai varētu viegli atcerēties, kāpēc tika veiktas izmaiņas. Patiesībā Google krātuve to veido kā obligātu priekšnoteikumu saistībām.
Par Linux / DD-WRT
Šis ir piemērs saistībām, ko esmu veicis hotfortech projektā, kas uzlaboja to līdz 19. versijai:
svn commit -m “updated to reflect new ant-ads pack link”
Windows operētājsistēmā
-
Ar peles labo pogu noklikšķiniet uz darba direktorijas un atlasiet "SVN Commit":
-
Jums vajadzētu apsveikt logā, kas ļauj atzīmēt žurnāla ziņojumu:
- Noklikšķiniet OK un pēc tam, kad tiek prasīts ievadīt paroli, ievadiet Google ģenerēto paroli.
-
Ja saistības ir veiksmīgas, jums vajadzētu redzēt kaut ko līdzīgu:
- Tas ir, jums vajadzētu būt iespējai izdarīt kā BOSS.
Nobeiguma piezīmes Tam vajadzētu būt pietiekamam, lai jūs sāktu. Ieteicams izlasīt SVN rokasgrāmatas, lai iegūtu dziļāku un labāku izpratni par visām SVN lietām, iespējām un atrunām. Arī mēs atgādinām jums (atkal), ka sagrābšana ir NAV vienīgā versiju kontroles sistēma, un GIT (kas tika izveidots ar Linus Torvalds, Linux kodolu dibinātājs), šķiet, ir kļuvis populārs pēdējos gados.
Ja jūs izvēlēsities maršrutēšanas programmā hotfortech projektā palaist "running-config.sh", jūs atradīsiet, ka tas šobrīd tiks instalēts: anti-ads-pack, Opkg geek-init skripts, kā arī tādas lietas kā pilnīgs GNU "ls", "mazāk", "BASH" un vairāk.
/jffs/svn/hotfortech-dd-wrt/running-conf.sh
Vairākas funkcijas tiek izskatītas un tiks pievienotas nākotnē.
Sistēmas administratori kodēs savu izeju no kodēšanas.