5. Gestion des branches et des versions#
Ce document permet d’expliquer la démarche à suivre pour tenir à jour les branches et versions dans Road2, et dans les différents projets associés.
5.1. Présentation#
De part sa nature, le projet Road2 a un package.json
qui contient une version. Cependant, ce projet ne fonctionne pas seul. Il y a des projets qui le complètent en ayant des rôles différents:
Route Graph Generator permet de générer des données utilisables par Road2
PGRouting Procedures permet d’avoir les procédures utilisées en BDD par Road2 si on utilise le moteur PGRouting.
Route Graph Generator et PGRouting Procedures sont indépendants en tant que projets GIT. Cependant, ils peuvent être rapatrié dans le projet Road2 par les submodules de GIT (git submodule update --init
à la racine du projet Road2).
5.2. Les branches#
Sur ces trois projets ont une branche master
et develop
. La première permet de gérer les versions mises en production. La seconde permet de réaliser les développements.
On veillera à partir de develop
et à créer une branche du type :
doc/*
pour modifier ou ajouter de la documentation uniquement,feat/*
pour réaliser de nouvelles fonctionnalités,fix/*
pour effectuer une correction sur le code source,docker/*
pour modifier la partie docker uniquement,test/*
pour modifier uniquement les tests,ci/*
pour modifier la CI Github
Pour fusionner une branche avec develop
, on veillera à avoir fait un rebase de develop sur cette branche. Et sur la méthode de merge, on fera un squash. Ainsi, la branche develop
aura un commit par fonctionnalité, correction, etc…