Changes between Version 8 and Version 9 of Documentatie/Ontwikkelaar/Omgeving/Tools


Ignore:
Timestamp:
04/15/13 08:51:28 (13 years ago)
Author:
adriaan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentatie/Ontwikkelaar/Omgeving/Tools

    v8 v9  
    193193== Git == 
    194194 
    195 '''TODO:''' 
    196 Geen van ons heeft git echt uitgeprobeerd, maar het heet dat git-subversion bridging eenvoudig is (en ongeveer net zo werkt als bij Mercurial). 
     195Git is een gedistribueerd versiebeheer systeem met een zeer uitgebreide toolset en een nogal cryptische ''core'' -- een kern waarmee je wel alles kunt. Git beschikt ook over een goeie SVN bridge, zodat je met git kunt werken en  de gedistribueerde kenmerken van git kunt gebruiken en '''tegelijk''' ook gecontroleerd met Subversion om kunt gaan. Hierdoor wordt het mogelijk om samen te werken in git en dan af te ronden in Subversion. 
     196 
     197=== Starten === 
     198 
     199 - '''Initiele Clone''' Maakt een clone in de directory `openac-git` en gaat vervolgens 
     200   de (remote) development branch volgen. Bij de eerste clone komt er een foutmelding 
     201   dat er geen checkout gemaakt kan worden omdat HEAD geen remote-ref heeft. Die kan 
     202   je negeren, want je wilt toch een andere branch volgen. 
     203   {{{ 
     204git clone -o mirror ssh://trac2/home/svn/openac-git 
     205cd openac-git/ 
     206git svn init --prefix=mirror/ https://svn.openac.fenac.nl/development 
     207git svn dcommit 
     208}}} 
     209 - '''Update''' Dit werkt de checked out working-directory bij naar de 
     210   huidige stand van SVN, met behoud van eigen commits sinds de laatste keer 
     211   (zoals `svn up`). 
     212   {{{ 
     213git checkout git-svn 
     214git pull --rebase 
     215}}} 
     216 - '''Commit''' In git kan je altijd lokaal committen. Deze commits gaan niet (direct) naar de centrale server, en je kan dus experimenteren en/of een feature in meerdere commits opbouwen zonder dat dat zichtbaar is voor de buitenwereld. Hoe git commits te doen staat in de git handleidingen. 
     217 - '''SVN Push''' Als je iets af hebt en dat om wilt zetten naar SVN changesets, doe je 
     218   {{{ 
     219git svn dcommit 
     220}}} 
     221   Hiermee worden je git commits een-voor-een naar SVN gestuurd als SVN commits. Je checkout wordt ook (net als bij update) bijgewerkt naar de meest recente SVN checkout. 
     222 
     223=== Workflow === 
     224 
     225(advanced dingen zoals samenwerken aan een branch in git en later afmaken naar SVN) 
     226 
     227=== Infrastructuur === 
     228 
     229(dit is de documentatie over hoe de git-svn infrastructuur op de server is geconfigureerd)