versie volgen met Subversion (SVN) voor beginners

Heb je ooit wilde om te werken aan een project met de mogelijkheid om uw wijzigingen bij te houden, evenals terugkeren hen? How-To Geek legt How-To de populaire versie tracking systeem, Subversion (a.k.a SVN) gebruiken.

Afbeelding door duidelijk Dubbelzinnig

Deze gids zal streven ernaar om u de mogelijkheid om de ondermijning client te gebruiken in het algemeen geven, en, als je die hebt, op uw * DD-WRT router. Deze gids is geenszins een definitieve gids voor Subversion en veel informatie is te vinden op de Subversion Red Book. Deze handleiding is alleen bedoeld om u de afkorting antwoord te geven op de meest fundamentele vragen.

Er kunnen tal van redenen waarom je zou willen in staat zijn om “kassa” de laatste code voor een software-project dat een versioning systeem gebruikt. Dit te doen stelt u in staat om te profiteren van de laatste nog unreleased veranderingen, te helpen met het testen en zelfs ontwikkeling. In deze gids, gaan we over een aantal fundamentele SVN terminologie zien hoe je de SVN client te installeren op Linux, Windows en als je er een hebt uw OPKG ingeschakeld DD-WRT router. We hebben ook een voorbeeld van een project kunt u de kassa en gebruiken voor de genoemde router.

Subversion is zeker niet de enige versie controlesysteem bestaan ​​en de alternatieven behoren Git (die werd opgericht door Linus Torvalds de Linux-kernel oprichter), Mercurial en noodgedwongen een paar te noemen. Met dat gezegd, het is een van de vrije degenen, het is volwassen en wordt op grote schaal wereldwijd gebruikt.

Out of the Subversion “Red Book”

Subversion is een gratis / open source versie controle systeem (VCS). Dat wil zeggen, Subversion beheert bestanden en mappen, en de wijzigingen aan hen, na verloop van tijd. Hiermee kunt u oudere versies van uw gegevens te herstellen of onderzoekt de geschiedenis van hoe uw gegevens wijzigen. In dit opzicht, veel mensen denken aan een versie controle systeem als een soort “time machine.”

Let op: Dit boek is de ultieme verzameling van kennis over subversie en u wordt geadviseerd om te verwijzen naar het op alle Subversion gerelateerde onderwerpen.

Versioning is een proces waarbij de toestand van een project op een punt in de tijd wordt opgeslagen. Dit soort procedure wordt vaak gebruikt om de ontwikkeling van software te beheren, zodat het werk kan blijven om het project te verbeteren of functies toe te voegen, terwijl de mogelijkheid om bij te houden wat er is veranderd na de laatste algemene “save” point. Uit te werken, kan dit soort procedure nuttig voor een enkele persoon, maar nog meer voor een groep mensen, allen werkzaam aan hetzelfde project. Dit is omdat, meestal, bij het werken aan een project als een groep, is er een verdeling van verantwoordelijkheden en verschillende mensen verschillende aspecten van het project te veranderen. Zonder versiebeheer mechanisme, zou het heel moeilijk zijn om iedereen in sync op de laatste werkdag verandert van iedereen te houden.

De Repository; De repository is de locatie waar alle gegevens van alle verschillende plaatsen wordt opgeslagen. In de subversie wereld, vanuit het oogpunt van de klant, het is de server waarop de database van het project houdt. Deze database bevat alle bestanden die deel uitmaken van het project met al hun eerdere versies.

Herziening

Wanneer een repository wordt aangemaakt, krijgt de herziening aantal nul (0). Dit aantal wordt verhoogd met één (1) telkens een commit uitgevoerd. De herziening nummer is globaal voor de repository. Dat wil zeggen dat er geen afzonderlijke revisienummer individuele bestanden in de repository, zelfs als er niets veranderd dat bestand voor dat specifieke commit.

De Werkkopie

Een werkende kopie is een lokale kopie (of “kassa”) van een bepaalde versie. Meestal deze versie bij controle-out is de “laatste” één (ook wel een “kop”), maar een vorige kan worden aangevraagd. De gebruiker kan maken met de lokale kopie alles wat hij / zij wil, met de wetenschap dat, in het slechtste geval, ze kon gewoon de code opnieuw in de kassa. Bovendien is dit exemplaar is “private”. Dit komt doordat totdat u updaten of uw exemplaar te plegen, u zult er geen andere mensen veranderingen te zien, noch zullen zij zien de jouwe.

Updaten & Conflict oplossen

Een lokale werkkopie kan worden bijgewerkt. Dat wil zeggen, als u “checked out” een bepaalde versie, en terwijl u aan het werk, heeft de versie op de repository is bijgewerkt, kunt u uw werkkopie updaten naar de laatste. In feite zal de server te voorkomen dat u het plegen van uw wijzigingen voordat u een update naar de nieuwste versie van de repository te passen. Dit wordt gedaan om je te dwingen om conflicten op lokaal op te lossen, voordat je zelfs denken aan het plegen van wijzigingen in de repository.

Merging

Samenvoegen verwijst naar het proces waarbij, code veranderd is gemengd in één versie. Het kan ook leiden tot het oplossen van conflicten.

commits

Het plegen is het proces waarin de wijzigingen die u aan uw lokale kopie heeft gemaakt terug in de repository zullen worden samengevoegd. Dit is het meest gevaarlijke deel van het proces, want het is hier dat de wijzigingen die u hebt gemaakt, kan van invloed zijn andere mensen met dezelfde repository. Dat is de reden waarom dit gebeurt meestal na enige aandacht, met consensus van het team en na eventuele samenvoeging conflicten hebben opgelost.

de Workflow

De meest fundamentele workflow vanuit het perspectief van de gebruiker bij het gebruik van subversie is dit

1. Afrekenen de bestaande code (meestal de “kop”) .; 2. Wijzigingen aanbrengen, voeg bestanden en in het algemeen de code te ontwikkelen;. 3. Updaten naar de nieuwste versie, om ervoor te zorgen dat uw lokale kopie is in sync met de updates op de repository;. 4. Lokaal samen te voegen en conflicten op te lossen, indien nodig;. 5. Commit de gefuseerde veranderingen in de repository;. 6. GoTo stap 2.

Installeer de Client

Om te kunnen subversie te gebruiken, moet u de client te installeren op uw computer.

Maak de “repository”

Hoewel we zullen niet ingaan op te veel in detail over het opzetten van een Subversion server in deze handleiding, de Google-alternatief is geen slechte start voor de beginnende gebruiker. Om een ​​Google-repository

Zodra uw project is gemaakt, moet u in staat om de instructies over hoe om toegang te krijgen in het tabblad “Bron” te vinden.

Het leuke van Google-code, is dat het een anonieme alleen-lezen versie voor uw project in staat zal stellen. Als u niet wilt om te gaan met het gedoe van het maken van uw eigen project, kunt u anoniem kassa repository van deze schrijver.

Een opmerking over de hotfortech project: Dit project is bedoeld om een ​​wrapper voor de functies die aan DD-WRT zijn toegevoegd op How-To Geek (die ik persoonlijk gebruik) plus een aantal persoonlijke tweaks zijn. Hoewel dit project is gericht op werken in combinatie met de hier op howtogeek gepubliceerde artikelen, het is nog steeds mijn prive project. Dat is, is het zeer geschikt voor mijn Buffalo router (AR71xx architectuur), mijn persoonlijke grillen en is gevoelig voor de occasionele borkage.

Alleen hotfortech-dd-WRT-lezen-svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/

“Update” & “Samenvoegen” je werkkopie; Als je werkt op de code met collega’s, of je je zelf een update van de code vanuit verschillende locaties (bijvoorbeeld laptop, desktop of zelfs router), moet je je werkkopie bijwerken voordat verbindt u de laatste wijzigingen.

“Commit” uw wijzigingen, dat is het, je moet conflict vrij en klaar om de repository te werken met uw wijzigingen zijn;. Het enige punt om hier op te merken is dat het een gangbare praktijk om een ​​”log” boodschap aan de commit toe te voegen, te kunnen gemakkelijk herinneren waarom de wijzigingen aangebracht. In feite, Google’s repository maakt dit een verplichte pre-eis te plegen.

Slotopmerkingen; Dit moet genoeg zijn om mee te beginnen. U wordt geadviseerd om de SVN naslagwerken lezen om een ​​diepere en betere greep op alle toepassingen, opties en waarschuwingen SVN te krijgen. Ook hebben we u eraan herinneren (weer) dat subversie is niet de enige versie controle systeem die er zijn en GIT (die werd opgericht door Linus Torvalds de Linux-kernel oprichter) lijkt te zijn aan populariteit wint in de afgelopen jaren.

Als u ervoor kiest om de “running-config.sh” uit de hotfortech project op uw router lopen, zul je merken dat het momenteel wordt geïnstalleerd voor u: De anti-advertenties-pack, de Opkg geek-init script, alsook dingen zoals de volledige GNU “ls”, “lager”, “BASH” en meer.

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

Meer functies is voorgelegd en zal in de toekomst worden toegevoegd.

Systeembeheerders zullen hun weg coderen van codering.

Mount Everest is de hoogste berg van hoogte boven de zeespiegel, maar de hoogste berg van de totale hoogte van de basis naar de top is, wanneer de onderzeese gedeelte wordt beschouwd, Mauna Kea in Hawaii.