Changes between Version 1 and Version 2 of Documentatie/Ontwikkelaar/Omgeving/Source


Ignore:
Timestamp:
09/09/15 12:45:25 (11 years ago)
Author:
adriaan
Comment:

--

Legend:

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

    v1 v2  
     1[[TOC(heading=Documentatie, sectionindex, compact, depth=1, allactive, Documentatie/)]] 
     2[[TOC(heading=Hoofdstukken, sectionindex, compact, depth=2, allactive, indirect=Documentatie/Ontwikkelhandleiding/TOC)]] 
     3[[TOC(heading=Onderwerpen, sectionindex, compact, depth=3, allactive, indirect=Documentatie/Ontwikkelhandleiding/Ontwikkelomgeving/TOC)]] 
     4 
    15= Source = 
    26 
    37De OpenAC source-code leeft in een Subversion repository. 
    4 Toegang tot de repository wordt door een van de [wiki:/Documentatie/Ontwikkelhandleiding/Tools source-control tools] geregeld -- meestal ook Subversion. 
     8Toegang tot de repository wordt door een van de [Ontwikkelomgeving/Tools source-control tools] geregeld -- meestal ook Subversion. 
    59 
    610Deze pagina beschrijft handelingen die regelmatig uitgevoerd worden 
    711op de source-tree in de loop van normale software-ontwikkeling. 
    812 
    9 == Wijzigingen overnemen == 
     13== Source Layout == 
     14 
     15De sources van OpenAC staan in een source-repository op https://svn.openac.fenac.nl/ . De source-repository is alleen te benaderen door OpenAC ontwikkelaars en ACs met OpenAC geinstalleerd. 
     16 
     17[[NoteBox(warn, OpenAC is geen Open Source software. Het is alleen beschikbaar voor de Audiologische Centra die zijn aangesloten bij de FENAC.)]] 
     18 
     19De SVN repository bevat twee directories: {{{development/}}} met de actuele ontwikkelversie, en {{{release/}}} met daarin stabiele releases van OpenAC. De versies onder release hebben namen {{{v1.nnn/}}} of {{{v2.nnn/}}}. De huidige versie van OpenAC is versie 2, dus de `v2.nnn` directories zijn actueel. 
     20 
     21Er zijn enkele historische relicten zoals `developmentv1/` en `redesign/` die voor de geschiedenis van OpenAC van belang zijn, maar die niet zo interessant zijn. 
     22 
     23 
     24== Actieve Versies == 
     25 
     26Er zijn steeds twee versies van OpenAC die ondersteund worden: de "huidige release", dat is de meest recente, en de "vorige release", die daar aan vooraf ging. Net na een nieuwe release is er een korte overgangsperiode omdat de vorige-vorige release niet meer ondersteund wordt. 
     27 
     28Voorbeeld: 
     29 
     30 - Op 9 september 2015 is OpenAC v2.010 de huidge versie en is v2.008 de vorige versie. Een nieuwe versie is al in test, maar nog niet voor algemeen gebruik vrijgegeven. 
     31 - Op 15 september 2015 is OpenAC v2.012 vrijgegeven. Dan is dat de huidge versie, en v2.010 de vorige versie. Versie v2.008 wordt nog kort ondersteund. 
     32 
     33== Source Onderhoud == 
     34 
     35Normaal gesproken werken de FENAC ontwikkelaars in development en elk AC in de branch voor de versie die ze op dat moment gebruiken. 
     36 
     37 - `development` is de bron van de meeste wijzigingen en nieuwe code. In development wordt de code "clean" gehouden. Dat wil zeggen dat formattering en SVN properties en file-headers in development worden onderhouden met (semi-)automatische tools. 
     38 - `branches` lopen achter bij development en ook achter op nieuwere versies van OpenAC. Maar een AC dat wijzigingen doorvoert in hun actuele versie, verwacht dat die wijzigingen ook in latere versies van OpenAC beschikbaar (zullen) zijn. Er is dus twee-richtingen verkeer tussen de branches en development: 
     39   - Wijzigingen van ACs worden overgenomen naar latere versies, 
     40   - Sommige wijzgingen in development worden ook toegepast in oudere versies van OpenAC. Dat is een zgn. ''backport'', en wordt toegepast op bugfixes die in de lopende versie gefixt moeten worden, en een heel enkele keer voor features die slechts een kleine impact hebben, maar die wel fijn zijn in de lopende release. 
     41 
     42De werkwijze voor elk van deze onderhoudsstappen is hieronder beschreven. 
     43 
     44=== Wijzigingen overnemen === 
    1045 
    1146Het meest gemakkelijke is om wijzigingen naar "voren" over te nemen: van een release versie naar nieuwere release versies, of over naar development. Omdat dit regelmatig moet gebeuren is het het meest gemakkelijk om het automatisch met SVN tools te doen. 
     
    2560 
    2661 
    27 == Backports == 
     62=== Backports === 
    2863 
    2964Het is ook mogelijk om veranderingen over te nemen van nieuwere versies naar oude, de zogenaamde backports. Dit gebeurt als er belangrijke functionaliteit ontwikkeld wordt, zeg in development, dat vervolgens tussen twee releases door uit moet komen, of als er ingewikkelde bugfixes moeten worden overgenomen. 
     
    3166`svn merge` werkt ook van development naar andere branches, maar in het geval van backports is het vaak handig om specifieke commits over te nemen. Gebruik dan `-c NNN` in plaats van `-r NNN:HEAD` om precies een revisie NNN over te nemen. Welke revisies over te nemen kan je lezen uit de [/timeline timeline] van OpenAC of uit `svn log`.  
    3267 
    33 == Clean == 
     68=== Clean === 
    3469 
    3570Met "clean" bedoelen we dat de code opgeschoond wordt volgens de code-formattering