Apr 25

Goed. Je bent aan het programmeren geslagen, het is hartstikke leuk… maar toch eenzaam. Zou het niet handig zijn om samen met iemand anders aan hetzelfde programma te werken? Gezellig! Dan schiet het ook lekker op met z’n tweeën. Maar hoe doe je dat efficiënt? Zonder dat je elkaars werk overdoet of dat het conflicten creëert?

Lang geleden is daar al iets op gevonden. Het heet: online versie beheer via een repository. Legendarische programma’s bestaan ervoor: GIT, Subversion ga maar door. Kijk maar eens op wikipedia. Prachtig spul. Vervolgens heb je een host nodig. En ook een client. Ook weer verkrijgbaar in 30 smaken.

Ik heb daar dus totaal geen verstand van, wil ik ook niet krijgen én ik wil er niks voor betalen. Hoe moet dat dan? Dat was even puzzelen…

Het principe is als volgt. Je zet je source code online. Al je teamleden loggen in, downloaden de laatste versie voordat ze gaan werken, testen, werken en uploaden hun werk na afloop. De IT Repository zorgt voor de magic. Als er iets mis gaat kun je altijd terug naar een vorige versie.

En hoe richten we dat in voor niks?

  1. Allereerst de host. Ik gebruik www.beanstalkapp.com. Als je héél goed kijkt, bieden ze ook een FREE account voor 1 project. Google heeft ook een service maar dat is alleen voor open source. Andere aanbieders vragen al gauw zo’n 10$ per maand.
  2. Dan de client – en dit is het goede nieuws – de client is Xcode! (je kan ook altijd de command line gebruiken. Bijna ieder OS heeft een subversion client… Maar dat is geen serieuze suggestie)

Nu nog de installatie. Die heeft 2 stappen: 1) configureer de repository 2) configureer je project.

  1. In Xcode, selecteer “SCM”, en “Configure SCM Repositories.” Klik op de + links onder en voeg een naam toe voor de repository, kies “Subversion” als SCM Systeem. Voeg vervolgens je eigen URL toe. Het moet er zo uitzien:

    http://myusername@myaccount.svn.beanstalkapp.com/myproject

    myusername is jouw Beanstalk user id, en projectname is de naam van jouw project. Vergeet je password niet en rode error icoontje onderaan zou groen moeten worden met het woord “Authenticated.” Op dit moment heb ik Xcode versie 3.2.1. Ik vond andere instructie op internet die hier op leken maar die deden het niet. De “https” optie is alleen voor de betaalde accounts. Foutmeldingen die ik eerst kreeg was “Host Offline” of iets met de “RA layer”.

  2. Ga naar Xcode menu SCM > Repository klik op het IMPORT icoon. Dit kopieert je lokale versie naar de subversion repository. Wis nu je lokale kopie (of kopieer hem naar een andere plek om zeker te zijn). Ga nu weer naar je eigen repository via Xcode menu > SCM. Klik nu op CHECKOUT. Dit kopieert weer de online versie naar je hard disk. Commit nu je hele project in het SCM menu.

Hoe werkt het verder?

Verander een van de broncode-bestanden in je project en sla het op. U ziet nu een hoofdletter “M” (voor Modified) in de meest linker kolom naast de “Groepen en Bestanden” ruimte van Xcode. Klik met de rechtermuisknop op het bestand dat u hebt gewijzigd en selecteer “Compare” Dit zal de verandering die je net gemaakt met de meest recent gepleegde verandering in Beanstalk vergelijken. Als je tevreden bent met de wijziging, kunt u kiezen “Commit Changes” van de SCM-menu-item. De “M” zal dan verdwijnen.

Als je enkele wijzigingen aanbrengt die niet werken zoals je gehoopt had, is het makkelijk om terug te gaan naar een vorige commit. Je selecteert het bestand dat je nodig hebt om te herstellen, gaat naar het SCM-menu en selecteert “Update to” en “Revision …”. Dit laat je de versie kiezen van het bestand dat je terug wilt draaien.

Vanaf nu kun je gezamelijk en op afstand werken aan dezelfde projecten. Cool hé!?

(De eerlijkheid biedt me te zeggen dat grote delen van deze Post bewerkte vertalingen zijn uit het Engels. Geen van deze beschrijvingen werkten bij mij de eerste keer. Ik moest ze wel aanpassen. Maar om nou alles opnieuw uit te schrijven vond ik ook teveel moeite)

Leave a Reply

Tag Cloud 

 

Advertenties 

Wij zoeken ontwikkelaars, developers, app-fanaten voor iOS, Android, HTML5

www.dutchapplications.com

 
preload preload preload