If-Koubou

Versijas izsekošana ar Subversion (SVN) iesācējiem

Versijas izsekošana ar Subversion (SVN) iesācējiem (Kā)

Vai kādreiz esat vēlējies strādāt pie projekta ar spēju izsekot jūsu izmaiņām, kā arī atgriezties pie tām? How-To Geek skaidro, kā izmantot populāro versiju izsekošanas sistēmu, Subversion (a.k.a SVN).

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 ir bezmaksas / atvērtā avota versija versijas kontroles sistēma (VCS). Tas nozīmē, ka Subversion pārvalda failus un direktorijus, kā arī ar tām saistītās izmaiņas laika gaitā. Tas ļauj jums atgūt vecākas jūsu datu versijas vai izpētīt datu izmaiņu vēsturi. Šajā sakarā daudzi cilvēki domā par versiju kontroles sistēmu kā sava veida "laika automātu".

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.
5Piesaistīt apvienotās izmaiņas krā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 instalēt 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 instalēt 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".

Laba lieta par Google kodu ir tā, ka tas ļaus jūsu projektam anonīmi lasīt tikai versiju. Ja jūs nevēlaties atrisināt problēmu izveidot savu projektu, jūs varat anonīmi izrakstīt šo rakstnieka krātuvi.

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 pārbaude http://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 uz augšu

Windows operētājsistēmā

  • Ar peles labo klikšķi darba direktorijā 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 "atjaunināts, lai atspoguļotu jauno ant-reklāmas iepakojuma saiti"

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.