Version Control

Wat is versiebeheer, en wat heeft dat met jou te maken? Versiebeheer is het systeem waarbij veranderingen in een bestand of groep van bestanden over de tijd wordt bijgehouden, zodat je later specifieke versies kan opvragen. Het doel van versiebeheer is om als groep met de laatste versie op je harde schijf te werken en niet op de browser te werken. Dit doen we door Bitbucket en Mercurial te gebruiken. Sphinx is een tool om documenten van reStructeredText files(.rst) om te zetten naar bijvoorbeeld een HTML website.

Bitbucket

Maak een account op Bitbucket.org om de codes met elkaar te kunnen delen. Als je een account hebt gemaakt, zoek naar Pathways-Extension (Training) van Albert Mietus. Op de hoofdpagina van Pathways-Extension (Training) staat de algemene informatie over dit project.

Fork

Iedereen die aan het project werkt maakt zijn eigen Fork op Bitbucket: Fork > De standaard instellingen staan goed en maak je Fork repository. Jou FORK staat nu ook op de hoofdpagina en op je eigen frontpag. Wanneer je al een Fork gemaakt hebt en je wilt de naam veranderen: Ga naar je eigen Fork pagina, Settings (linksbeneden).

Clone Als je clonet zet je een kopie van wat er op de online repository staat op je eigen PC. Op deze kopie kan je vervolgens wijzigingen aanbrengen en pushen naar je online repository. Zorg ervoor dat je je eigen repository cloned, want dat is de enige repository waar je schrijfrechten op hebt.

Clonen doe je door op je eigen pagina op ‘clone’ (linkerkant) te drukken. Kopieer de link en open de command prompt. Indien de knop ‘clone’ niet aanwezig is, kan je ook je URL nemen. Verander de locatie in je command prompt als je dat wilt en tik “hg clone” in en plak erachter de link:

hg clone [link]

Om dit commando te gebruiken moet eerst Mercurial zijn geïnstalleerd, zie de link bij Mercurial hieronder.

Master

De master van dit project is Albert Mietus en zorgt dat alles dat erop komt, goed staat. De Master accepteert alle wijzigingen die door de anderen zijn gedaan.

Mercurial

Mercurial is te downloaden op https://www.mercurial-scm.org/. Als je iets wilt aanpassen, pull dan de laatste versie en merge het met die van jou. Zorg wel ervoor dat jouw status gecommit is en dat je de laatste versie hebt om die met een ander te mergen. Door dit te doen is jouw Local up to date. Hierna kan je de aanpassingen toevoegen en committen. Uiteindelijk heb jij de laatste versie met de aanpassingen en kan je het naar de anderen pushen. Door te pushen kunnen andere teamleden de laatste versie van jou pullen en ermee verder werken.

Hieronder staan kort de basis commandos van Mercurial beschreven. Voor meer informatie zie: https://www.mercurial-scm.org/wiki/Tutorial

Pull and Push

Bij een pull zet je de wijzigingen van een andere online repository in jouw eigen locale repository. Dit doe je in de command line met:

hg pull [link]

waarbij [link] de URL is van een andere repository. Deze kun je vinden op bitbucket.

Bij een push zet je jouw gecommitte wijzigingen op je eigen online repository. Dit doe je door middel van:

hg push

Merge, Commit and Add

Bij een commit zet je je eigen wijzigingen klaar om gepusht te worden naar jou repository. Het is belangrijk dat je dit doet voordat je pullt en pusht. Committen doe je met:

hg commit

Hierbij opent er een txt bestand waarin gewijzigde documenten zichtbaar zijn. Type bovenaan een bericht en sluit het document. Hierna zullen je wijzigingen gecommit zijn.

Als je add worden nieuwe of verwijderde bestanden klaargezet voor je commit. Als je dit niet doet, worden ze niet meegecommit. Gebruik hiervoor:

hg add

Met een merge voeg je gepullde wijzigingen van een andere repository samen met je eigen wijzigingen. Dit doe je met

hg merge

Status

De status geeft weer of er gewijzigde bestanden zijn die nog gecommit moeten worden. De status wordt weergegeven met:

hg status

Hierbij zie je bestanden samen met de status hiervan. De betekenis van alle statussen staat hieronder. Zorg ervoor dat als er bestanden zijn die niet Modified zijn dat je hg add gebruikt.

Symbol Description
M Modified
A Added
? Unknown
! Missing
I Ignore
R Removed

Grafisch interface

Als iets niet lukt bij in command prompt, kun je ook het grafische interface van TortoiseHg gebruiken. Dit kun je gebruiken door op je computer naar de directory te gaan waar de rekenrobot repository staat. Vervolgens kan je rechtsklikken en commando’s van Hg gebruiken, zoals hg commit of hg status.