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

Satura rādītājs:

Versijas izsekošana ar Subversion (SVN) iesācējiem
Versijas izsekošana ar Subversion (SVN) iesācējiem
Anonim
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).
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 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.

    Image
    Image
  • Nākamajā lapā aizpildiet obligātos laukus un izvēlieties "Versiju vadības sistēmas" veidu, lai to pārtvertu.

    Image
    Image

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

Image
Image
  • Izveidojiet tukšu direktoriju.
  • Ar peles labo taustiņu noklikšķiniet uz tā, lai atvērtu konteksta izvēlni.
  • Atlasiet "SVN Checkout":

    Image
    Image
  • Kopējiet un ielīmējiet projekta (ja tāda ir) saiti "Īsziņas" URL ":

    Image
    Image
  • 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:

    Image
    Image
  • 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":

    Image
    Image
  • 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":

    Image
    Image
  • Jums vajadzētu apsveikt logā, kas ļauj atzīmēt žurnāla ziņojumu:

    Image
    Image
  • 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:

    Image
    Image
  • 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.

Ieteicams: