Hjemmeside » hvordan » Versjon Sporing Med Subversion (SVN) For Beginners

    Versjon Sporing Med Subversion (SVN) For Beginners

    Har du noen gang ønsket å jobbe med et prosjekt med muligheten til å spore endringene dine samt tilbakestille dem? How-To Geek forklarer hvordan du bruker det populære versjonssporingssystemet, Subversion (a.a.a SVN).

    Bilde av klart tvetydig

    Prelog

    Denne veiledningen tar sikte på å gi deg muligheten til å bruke subversionsklienten generelt, og hvis du har en, på din * DD-WRT-ruter. Denne veiledningen er på ingen måte en endelig guide for Subversion, og mye informasjon finnes på Subversion Red Book. Denne veiledningen er bare ment å gi deg shorthand svaret på de mest grunnleggende spørsmålene.

    Oversikt

    Det kan være mange grunner til at du vil kunne "sjekke" den nyeste koden for et programvareprosjekt som bruker et versionssystem. Å gjøre det gjør at du kan dra nytte av de siste fremdeles uendrede endringene, hjelp med testing og jevn utvikling. I denne veiledningen vil vi gå over noen grunnleggende SVN-terminologi, vise hvordan du installerer SVN-klienten på Linux, Windows, og hvis du har en OPKG-aktivert DD-WRT-ruter. Vi har også tatt med et eksempel på et prosjekt du kan sjekke ut og bruke for nevnte ruteren.

    Hva er Subversion?

    Subversion er på ingen måte det eneste versjonskontrollsystemet som eksisterer, og alternativer inkluderer Git (som ble opprettet av Linus Torvalds Linux-kjernestifteren), Mercurial og PerForce for å nevne noen. Med det sagt er det en av de frie, den er moden og brukes mye over hele verden.

    Ut av Subversion "Red Book":

    Subversion er en fri / åpen kildekode versjonskontrollsystem (VCS). Det vil si, Subversion styrer filer og kataloger, og endringene som er gjort til dem over tid. Dette lar deg gjenopprette eldre versjoner av dataene dine eller undersøke historien om hvordan dataene dine endret seg. I denne forbindelse tenker mange på et versjonskontrollsystem som en slags "tidsmaskin".

    Merk: Denne boken er Den ultimate samlingen av kunnskap om subversion, og du anbefales å referere til det på alle Subversion-relaterte emner.

    Hva er Versjonering?

    Versjonering er en prosess der tilstanden til et prosjekt på et tidspunkt blir lagret. Denne typen prosedyre brukes ofte til å administrere programvareutvikling, slik at arbeidet kan fortsette å forbedre prosjektet eller legge til funksjoner, samtidig som man kan spore hva som har endret seg fra det siste samlede "lagre" -punktet. For å utarbeide, kan denne typen prosedyre være nyttig for en enkelt person, men enda mer for en gruppe mennesker som alle jobber med det samme prosjektet. Dette skyldes at når man jobber med et prosjekt som en gruppe, er det en fordeling av ansvar og forskjellige mennesker forandrer ulike aspekter av prosjektet. Uten en versjonsmekanisme vil det være svært vanskelig å holde alle synkronisert med de siste arbeidsendringene fra alle andre.

    Terminologi

    The Repository
    Lageret er stedet der alle dataene fra alle de forskjellige stedene er lagret. I subversion verden, fra kundens synspunkt, er det serveren som har databasen til prosjektet. Denne databasen inneholder alle filene som er en del av prosjektet med alle tidligere versjoner.

    Revisjon

    Når et lager er opprettet, blir det gitt revisjonsnummeret null (0). Dette tallet økes med en (1) hver gang en forpliktelse utføres. Revisjonsnummeret er globalt for depotet. Det vil si at det ikke finnes noen individuell revisjonsnummer for individuelle filer i depotet, selv om ingenting er endret i den filen for det bestemte engasjementet.

    Arbeidsutgaven

    En arbeidskopi er en lokal kopi (eller "kassa") av en bestemt versjon. Vanligvis er denne versjonen når den er sjekket ut den "siste" (også kalt et "hode"), men en tidligere kan bli bedt om. Brukeren kan gjøre med den lokale kopien alt han / hun ønsker, med kunnskap om at de i verste fall bare kunne sjekke koden igjen. Dessuten er denne kopien "privat". Dette skyldes til du enten oppdaterer eller forplikter din kopi, vil du ikke se andres endringer, og de vil heller ikke se din.

    Oppdatering og konfliktløsning

    En lokal arbeidskopi kan oppdateres. Det vil si, hvis du "sjekket ut" en bestemt versjon, og mens du jobbet, er versjonen på depotet oppdatert, du kan oppdatere arbeidskopien til det siste. Faktisk forhindrer serveren deg fra å forandre endringene dine før du oppdaterer til den nyeste versjonen for å matche depotet. Dette er gjort for å tvinge deg til å løse konflikter lokalt, før du til og med tenker på å begå endringer i depotet.

    sammenslåing

    Sammenslåingen refererer til prosessen der den endrede koden blandes i en versjon. Det kan også medføre konfliktløsning.

    inger

    Å forplikte er prosessen der endringene du har gjort til din lokale kopi, slås sammen igjen i depotet. Dette er den mest farlige delen av prosessen, da det er her som endringer du har gjort, kan påvirke andre mennesker som bruker det samme arkivet. Det er derfor dette gjøres vanligvis etter en viss vurdering, med lagets konsensus og etter at du har løst eventuelle fusjonerende konflikter.

    Arbeidsflyten

    Den mest grunnleggende arbeidsflyten fra brukerens perspektiv når du bruker subversion er dette:

    1. Sjekk ut den eksisterende koden (vanligvis "hodet").
    2. Lag endringer, legg til filer og generelt utvikle koden.
    3. Oppdater til den nyeste versjonen for å sikre at den lokale kopien din synkroniseres med oppdateringene på depotet.
    4. Lokal sammenføye og løse konflikter om nødvendig.
    5. Forbind de fusjonerte endringene i depotet.
    6. Gå til trinn 2.

    Lar deg sprekke

    Installer klienten

    For å kunne bruke subversion, må du installere klienten på maskinen din.

    På Linux

    Du trenger bare å installere pakken. På Ubuntu / Mint vil dette bli gjort med:

    sudo aptitude install subversion

    På DD-WRT

    Hvis du har fulgt "Slik installerer du tilleggsprogramvare på hjemmevirksomheten (DD-WRT)", kan du installere svn-klienten ved å bare utstede:

    opkg oppdatering; Opkg Install Subversion-klient

    På Windows

    Mens vi dype nørdbrukere kan begynne å glemme at GUI selv eksisterer til tider, har ikke alle. Hvis du vil bruke en Windows-klient til å koble til et SVN-depot, er langt den mest populære en "Skildpadde". For å bruke det, bare last ned programmet og installer i den vanlige "neste, neste, ferdig" mote.

    Opprett "depot"

    Selv om vi ikke vil gå inn på mye detaljert informasjon om hvordan du konfigurerer en subversion-server i denne guiden, er Google-alternativet ikke en dårlig start for nybegynneren. Slik oppretter du et Google-depot:

    • Gå over til Google Code hosting nettsted og "opprett" et nytt prosjekt.
    • På neste side fyller du ut de obligatoriske feltene og velger typen "versjonskontrollsystem" for å være subversion.

      Merk: Du vil kanskje se på hva som er forskjellen mellom lisensene Google-tilbudet, før du velger en for prosjektet.
    • Klikk på "Opprett prosjekt".
    "Checkout" din arbeidskopi

    Når prosjektet ditt er opprettet, bør du finne instruksjonene for hvordan du får tilgang til det på "Kilde" -fanen.

    Det fine med Google-kode er at det vil aktivere en anonym skrivebeskyttet versjon for prosjektet. Hvis du ikke vil takle bryet med å skape ditt eget prosjekt, kan du anonymt sjekke denne forfatterens repository.

    Ett notat om hotfortech-prosjektet: Dette prosjektet er ment å være en wrapper for funksjonene som er lagt til i DD-WRT på How-To Geek (som jeg personlig bruker) pluss noen personlige tweaks. Mens dette prosjektet er rettet til å fungere sammen med artiklene som publiseres her på howtogeek, er det fortsatt mitt private prosjekt. Det er, det passer godt til min Buffalo router (AR71xx arkitektur), mine personlige lunger og er utsatt for sporadisk borkage.

    På Linux / DD-WRT

    Lag katalogen for å jobbe i, for eksempel på DD-WRT, som kan være:

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

    Hele kommandoen på Linux består av SVN-kommandoen selv, "Checkout" -direktivet, adressen til depotet og katalogen til kassa også. Opprett en tom katalog og utfør kommandoen nedenfor:

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

    Legg merke til at i eksemplet ovenfor blir den skrivebeskyttede versjonen sjekket ut. Hvis du valgte å lage ditt eget lager, må du bruke httpS-lenken.

    På Windows

    Fordi skildpadde er et skallutvidelse, må du bruke Windows-filoppdagers kontekstmeny (høyreklikk) for å bruke den. Faktisk, hvis du prøver å påkalle den fra startmenyen, får du:

    • Opprett en tom katalog.
    • Høyreklikk på den for å hente kontekstmenyen.
    • Velg "SVN Checkout":
    • Kopier og lim inn lenken for prosjektet (hvis du har en) i «URL» -tekstboksen:
    • Avhengig av størrelsen på prosjektet kan det ta litt tid, men når "Checkout" er fullført, bør du se noe som:
    • Du kan begynne å utvikle.

    "Oppdater" og "Merge" arbeidskopien din
    Hvis du jobber med koden med kollegaer, eller deg selv, oppdaterer koden fra flere steder (dvs. bærbar datamaskin, skrivebord eller til og med ruteren), må du oppdatere arbeidskopien din før du forplikter deg til de siste endringene.

    På Linux / DD-WRT

    Kommandoen til å gjøre dette på disse POSIX-systemene er ganske enkelt:

    svn opp

    På Windows

    • Høyreklikk i arbeidskatalogen og velg "SVN Update":
    • Hvis du støter på konflikter, kan du prøve å følge instruksjonene på skjermen og bruke din vurdering av hva du skal gjøre med dem.

    "Forbind" dine endringer
    Det er det, du bør være konfliktfri og klar til å oppdatere depotet med endringene dine.
    Det eneste poenget å merke seg her er at det er en vanlig praksis å legge til en "logg" melding til forplikten, for å kunne huske på hvorfor endringene ble gjort. Faktisk gjør Googles repository dette et obligatorisk forutsetning for å begå.

    På Linux / DD-WRT

    Dette er et eksempel på forpliktelsen jeg har gjort til hotfortech-prosjektet som opped det til versjon 19:

    svn commit -m "oppdatert for å reflektere nye ant-ads pack link"

    På Windows

    • Høyreklikk i arbeidskatalogen og velg "SVN Commit":
    • Du bør bli møtt av et vindu som gjør at du kan legge merke til en loggmelding:
    • Trykk OK og når du blir bedt om et passord, gi Google generert passord.
    • Hvis forpliktelsen var vellykket, bør du se noe som:
    • Det er det, du burde være i stand til å forplikte seg som en BOSS.

    Endelige bemerkninger
    Dette bør være nok til å komme i gang. Det anbefales at du leser SVN-referansebokene for å få en dypere og bedre forståelse for alle SVNs bruksområder, alternativer og advarsler. Også, vi påminner deg (igjen) at subversion er IKKE det eneste versjonskontrollsystemet der ute, og GIT (som ble opprettet av Linus Torvalds Linux-kjernestifteren) ser ut til å bli populærere de siste årene.

    Hvis du vil velge å kjøre "running-config.sh" fra hotfortech-prosjektet på ruteren, vil du oppdage at det for øyeblikket vil installere for deg: Anti-ads-pack, Opkg geek-init script, så vel som ting som full GNU "ls", "less", "BASH" og mer.

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

    Flere funksjoner er ventende og vil bli lagt til i fremtiden.


    Systemadministratorer vil kode seg ut av koding.