1 workflow
Qwann edited this page 2017-07-20 00:37:11 +02:00

Workflow

Merge requests

Le fonctionnement des dépots cof-geek se fait par merge requests, qui doivent être reviewées par une personne expérimentée (= Master, cf plus bas) qui n'a pas participé à l'écriture du code. En pratique pour faire une merge request, après avoir cloné le dépot, il faut faire une branche séparée avec git checkout -b login/ma-branchelogin est votre pseudo et ma-branche un nom simple décrivant les modifications que vous souhaitez apporter. Ensuite faites vos modifications, puis poussez sur le GitLab. Là vous pouvez aller sur l'interface Web et cliquer sur le bouton "faire une merge request" qui apparaît.

Une fois la merge request effectuée, un Master lira et commentera votre code. Une merge request est une discussion entre l'auteur du code et le reviewer, ne vous pliez pas juste aux demandes du reviewer, votre point de vue compte ! Par ailleurs c'est plus à vous de modifier le code qu'au reviewer, mais cela dépend des situations.

N'hésitez pas à regarder les merge requests des autres, même sans être master, toute remarque constructive est bonne à prendre. De plus, c'est une bonne façon de se familiariser avec le code.

Quelques outils pour review son code ou celui des autres

Tests

C'est une bonne habitude à prendre d'ajouter des tests quand on développe une nouvelle fonctionnalité, si vous avez du mal demandez et quelqu'un vous aidera. Une autre bonne habitude à prendre : quand on résout un bug il faudrait systématiquement ajouter un test correspondant au bug pour s'assurer qu'il n'arrivera plus.

Membres

Il y a trois types de contributeurs à cof-geek.

Extérieurs

Les extérieurs sont des gens avec un compte sur le GitLab mais non membres de cof-geek. Ils peuvent contribuer en forkant le dépot et en faisant une merge request. Ils n'ont aucun droit particulier sur le dépôt.

Developer

Le titre de Developer indique un membre de cof-geek, c'est-à-dire quelqu'un présent sur la ML et qui contribue activement (ou pas) du code. Les Developers peuvent accéder au dépôt commun, créer des branches, etc : ce sont donc des gens en qui une certaine confiance est placée.

Master

Les membres possédant le titre de Master sont des gens qui connaissent bien au moins une partie du code. Ils ont quelques droits supplémentaires par rapport aux Developers ; en particulier ils peuvent modifier la branche principale (master). Ce sont eux qui mergent les merge request. Attention : être master n'est pas une raison suffisante pour pusher ses changements sur la branche master sans vergogne ! Ils doivent tout de même être reviewés par un autre Master, voir la section Merge requests.