Werken met Subversion bij CodeYard

Wat is Subversion?

Subversion in een versiebeheersysteem. Met behulp van Subversion kun je bij CodeYard bestanden naar CodeYard uploaden, versies beheren, recente wijzigingen zien en samen aan bestanden werken. In deze handleiding wordt uitgelegd hoe je Subversion opzet voor jouw project. Ook kan je, als je daarin geïnteresseerd bent, meer lezen over de werking van Subversion.

Subversion en jouw CodeYard website

Bij CodeYard kun je ook je projectwebsite hosten. Het uploaden daarvoor gaat ook via Subversion. Alles wat je in Subversion plaatst in de ‘www’-map, staat direct op je website.
Je website vind je op https://cvs.codeyard.net/projectnaam/. Hierbij staat projectnaam voor de naam van jouw project.

In het kort

De workflow voor het gebruiken van Subversion is als volgt:

  1. Maak een eenmalige Check-Out van het project waarmee je bezig bent.
  2. Als tussen het bewerken van de source en de Check-Out enige tijd zit is het verstandig een nieuwe Update te doen. Dan weet je zeker dat je met de nieuwste versie van de files aan de slag gaat.
  3. Je gaat nu een of meerdere bestaande bestanden bewerken (Edit.)
  4. Je kunt ook nu weer een Update uitvoeren om te kijken of er niet toevallig iemand aan een of meerdere van de door jou bewerkte files heeft gewerkt en vóór jou een Commit heeft uitgevoerd.
  5. Als dat niet het geval is, geef je een Commit om de source bij te werken (Merge).
  6. Als je een nieuwe file of een nieuwe map met een of meerdere bestanden aan de source wilt toevoegen gebruik je de optie Add. Daarna geef je een Commit om de file of map met file(s) daadwerkelijk aan de source toe te voegen.

Subversion instellen

Stel direct Subversion in op jouw besturingssysteem:

Subversion instellen op Windows

Subversion instellen op Linux

Meer over Subversion: Terminologie

Hier vind je de belangrijkste Subversion-termen nog eens achter elkaar gezet:

  • Checkout: De checkout komt altijd aan het begin. Hiermee download je alle bestanden uit de CodeYard-repository op je eigen computer, en begint Subversion met bijhouden wat jij allemaal verandert in je eigen kopie.
  • Update: Als er andere mensen uit jouw groepje iets inchecken, betekent dat dat er in feite een nieuwere versie op CodeYard staat dan dat je zelf op je computer hebt staan. Met een Update zorg je dat die vernieuwingen ok op jouw computer terechtkomen.
  • Commit (ook inchecken of uploaden genoemd): als je op je eigen kopie iets voormekaar hebt gesleuteld aan jullie project, kan je jouw spullen in de centrale CodeYard-repository zetten door een Commit te doen.
  • Add: als je een nieuw bestand wil toevoegen aan de centrale CodeYard-repository gebruik je Add.
  • Conflict: Conflict is geen commando, maar geeft aan dat iemand anders aan hetzelfde stukje van hetzelfde bestand heeft zitten sleutelen als jij. Het is nu zaak om te bepalen welke versie het project gaat gebruiken, of misschien zelfs om een hele nieuwe versie te maken.
  • Resolve: Als er een conflict is geweest, geef je met Resolve aan dat je het conflict gezien en opgelost hebt.
  • Edit: Heeft niets met subversion zelf te maken. De edit-fase is gewoon dat je zelf met je eigen kopie aan het werk bent.

Meer over Subversion: Subversion conflictsituaties

Een probleem doet zich voor als je een file hebt bewerkt, die wilt committen zonder te kijken of al niet iemand diezelfde file heeft bewerkt en op overeenkomstige delen de code heeft gewijzigd. Op dat moment ontstaat er een Conflict.

SVN heeft onthouden welke versie de oorspronkelijke was en merkt nu dat er op de server een nieuwere versie staat. Op zo'n moment krijg je te zien wat die ander aan wijzigingen heeft aangebracht en het is aan jou om te besluiten wat te doen: je kunt de code aanpassen of ongewijzigd laten. Daarna gebruik je de optie Resolve om het Conflict oplossen. Hiermee geef je te kennen welke versie Subversion moet gebruiken als definitieve versie voor het project.

Die situatie ziet er als volgt uit:

SVN met conflictsituatie