88 votes

Comment mettre en place une revue de code à l'aide de Gitlab ?

Comment mettre en place une revue de code à l'aide de Gitlab ? Je vois qu'il s'agit d'une fonctionnalité sur le site Web de Gitlab, mais je ne trouve pas d'instructions sur la façon de la mettre en place (d'ailleurs, tout lien vers un manuel d'utilisation de Gitlab serait très apprécié).

Certaines de mes recherches ont indiqué que les "demandes de fusion" sont la voie à suivre... mais je les trouve limitatives. Une demande de fusion émise montre tous les commits entre une branche et l'autre. Il semble que je ne puisse voir que les différences générées pour chaque commit individuel. Par exemple, disons que j'ai un fichier que je veux examiner. Il s'agit d'un nouveau fichier mais j'ai soumis des modifications sur plus de 10 commits sur une branche dev. Si j'émets une demande de fusion pour cette branche de développement à partir de l'intégration, je vois 10 commits qui montrent chacun les changements incrémentaux apportés au fichier... Je veux revoir l'ensemble. C'est nouveau !

Est-ce que j'aboie sur le mauvais arbre ici ? Existe-t-il un véritable outil de révision du code que je puisse utiliser dans GitLab, ou bien les demandes de fusion sont-elles la seule solution, et si c'est le cas, est-ce que je ne les utilise pas correctement ?

25voto

VonC Points 414372

Remarque : depuis GitLab 6.4, vue différentielle côte à côte est disponible : voir " demande de retrait 5308 ".

(juillet 2013) Il n'y a pas encore la possibilité de commenter chaque ligne, seulement au niveau du fichier.
Daniel Sokolowski mentionne dans les commentaires que Les commentaires par ligne sont maintenant supportés (09/2014) :

Les membres de votre équipe peuvent commenter la demande de fusion en général ou sur des lignes spécifiques avec des commentaires de ligne.

Cela peut encore aider à l'activité de révision du code.

https://f.cloud.github.com/assets/4224518/1558702/e0fe633a-4fa3-11e3-9388-3f3e445cb6d4.png


6 ans plus tard, pour GitLab 13.1 (juin 2020) :

Les revues de demandes de fusion sont déplacées vers Core

Introduit à l'origine dans GitLab 11.4 en tant que fonctionnalité GitLab Premium, l'examen des demandes de fusion permet aux examinateurs des demandes de fusion de :

  • soumettre plusieurs commentaires à la fois,
  • réduire le bruit des notifications pour l'auteur de la demande de fusion, et
  • permettant un processus d'examen plus cohérent et simplifié.

https://about.gitlab.com/images/13_1/batch_comments.png

Depuis son introduction, nous avons réévalué sa place dans notre tarification basée sur les acheteurs et dans le cadre de la version 13.1, nous sommes heureux d'annoncer que cette fonctionnalité est désormais intégrée à GitLab Core.

Véase Documentation y Numéro


Con GitLab 13.9 (février 2021), vous avez également :

Demander un examen de suivi à un évaluateur

Les auteurs de la demande de fusion reçoivent les commentaires des évaluateurs . Souvent, ce retour d'information doit être réexaminé pour s'assurer que toutes les questions ont été traitées de manière appropriée. En tant qu'auteur de la contribution, vous devez communiquer la nécessité d'un suivi à votre réviseur.

Pour les réviseurs qui ont déjà a examiné une demande de fusion vous pouvez maintenant demander un réexamen. Cette demande déclenche un point à faire et une notification par courriel pour avertir l'utilisateur que vous avez besoin d'un réexamen de votre contribution.

https://about.gitlab.com/images/13_9/create_code_review-request-re-review.png -- Request a follow-up review from a Reviewer

Véase Documentation y Numéro .


Con GitLab 13.11 (avril 2021)

Ajouter des commentaires autonomes aux examens des demandes de fusion

Lorsque vous examinez les modifications, vous pouvez résumer vos commentaires ou commenter un élément sans rapport avec les modifications en question. Critiques dans GitLab ne permettait que de commenter les modifications ou de répondre à des commentaires existants, ce qui signifie que d'autres types de commentaires devaient être faits après la soumission de la révision.

Dans le cadre de votre processus de révision, vous pouvez désormais soumettre un commentaire général en même temps que vos réponses ou vos commentaires spécifiques à une modification. Les commentaires généraux permettent de fournir facilement un retour d'information à l'auteur et d'utiliser le système de gestion de l'information. actions rapides pour mettre à jour les éléments à travers la demande de fusion.

Merci à Lee Tickett pour la contribution !

https://about.gitlab.com/images/13_11/code-review-add-comment-mr-review.png -- Add standalone comments to merge request reviews

Véase Documentation y Numéro .

9voto

Herberth Amaral Points 820

Je fais des révisions de code dans Gitlab depuis plus de deux mois, sans pratiquement aucune friction. J'ai configuré rss2email pour envoyer des notifications par courriel chaque fois qu'un développeur pousse de nouveaux commits. Ensuite, j'utilise la fonction de commentaire de Gitlab pour les commits afin de faire quelques commentaires sur le code poussé.

Malheureusement, Gitlab n'autorise pas les commentaires sur les fichiers eux-mêmes, seulement dans les commits (tout comme Github, je suppose). Lorsque je me trouve dans une situation où j'ai besoin de commenter quelque chose que j'ai manqué dans un commit précédent, j'utilise l'outil blame pour trouver le commit qui a introduit/modifié la section de code à commenter.

Il est loin d'être parfait, mais il fonctionne bien jusqu'à présent.

2voto

Paul Verest Points 3798

Vous pouvez voir le code soumis dans la demande de fusion pour l'autre référentiel ou dans le référentiel actuel.
exemple http://demo.gitlab.com/diaspora/diaspora/commits/master

Vous pouvez ensuite ajouter des commentaires aux modifications apportées aux fichiers (bouton Reply ) ou à l'ensemble du commit

exemple http://demo.gitlab.com/diaspora/diaspora/commit/42f47626890218a180870bc3f44ec57625b0779c

Le résultat la communication est la révision du code . Cependant, je recommande personnellement de procéder à la révision du code sur un seul PC avec une communication en face à face chaque fois que cela est possible, et d'utiliser des outils pour enregistrer les résultats ou lorsqu'une plus grande formalité est nécessaire.

Pour une revue de fichiers qui a beaucoup de commits, par ex. http://demo.gitlab.com/diaspora/diaspora/blame/master/README.md regardez-le en utilisant blame pour comprendre qui a fait quoi. Cependant, dans cette vue, il n'y a pas d'option pour communiquer et ajouter des commentaires. Je recommanderais de simplement ajouter les modifications en tant que commentaires dans ce cas.

1voto

onionjake Points 1109

Oui. Les demandes de fusion sont la façon dont les examens par les pairs sont réalisés.

Il devrait y avoir un onglet 'diff' qui montrera les changements de tous les commits (mentionnés ici) : http://youtu.be/DyAX8ws5OIc?t=3m2s ).

La vidéo explique aussi joliment comment il peut être utilisé pour l'examen par les pairs.

0voto

HankCa Points 176

Le cas d'utilisation normal des revues de code est de revoir le code d'une branche avant de le fusionner dans le master ou similaire. Je suis dans une situation où j'ai développé un projet et je veux que tout le code soit revu par tous les membres de l'équipe.

Ce que j'ai fait, c'est :

Vérifier le premier commit, y apporter un changement, le commiter et le pousser.

git co -b FIRST_COMMIT eb67f06c2b3222c0219214b176c41922bc454881
vi README.md
git add README.md
git ci -m "First commit modified so can get full diff against it"
git push --set-upstream origin FIRST-COMMIT

Vérifier le dernier commit, y apporter un changement, le commiter et le pousser.

git co -b master
vi README.md
git add README.md
git ci -m "Last commit modified so can get full diff against it"
git push --set-upstream origin LAST-COMMIT

Sur GitLab / GitHub, créez une demande de retrait (pull request).

  • Il s'agit d'une fusion de LAST_COMMIT à FIRST_COMMIT.

Ça marche pour moi !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X