web-dev-qa-db-fra.com

Comment configurer une révision de code avec Gitlab?

Comment configurer une révision de code avec Gitlab? Je le vois répertorié comme une fonctionnalité du site Web de Gitlab, mais je n'arrive pas à trouver des instructions sur la façon de le configurer (un lien vers un manuel de l'utilisateur de Gitlab serait d'ailleurs très apprécié). 

Certaines de mes recherches ont indiqué que les "demandes de fusion" sont la voie à suivre ... mais je les trouve limitantes. Une demande de fusion émise montre tous les commits entre une branche et l’autre. Il semble que je ne puisse voir que les diffs générés pour chaque commit individuel. Par exemple, supposons que je souhaite examiner un fichier. Il s’agit d’un nouveau fichier, mais j’y ai soumis des modifications plus de 10 commits sur une branche dev. Si j'émets une demande de fusion pour cette branche de dev à partir de l'intégration, je vois 10 commits, chacun montrant les modifications incrémentielles apportées au fichier ... Je souhaite revoir l'ensemble du problème. C'est nouveau! 

Suis-je en train d'aboyer le mauvais arbre ici? Existe-t-il un outil de révision de code que je puisse utiliser dans GitLab ou les demandes de fusion sont-elles une solution, et si je les utilise correctement? Quelle est la meilleure façon de configurer une révision de code appropriée ici?

78
djc6535

Remarque: depuis GitLab 6.4, la vue diff côte à côte est disponible: voir " demande d'extraction 5308 ". 

(Juillet 2013)Il n’existe pas encore de possibilité de commenter chaque ligne, mais uniquement au niveau du fichier.
Daniel Sokolowski mentions dans les commentaires que Les commentaires par ligne sont maintenant pris en charge (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 pour l’activité de révision du code.

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

23
VonC

Je fais des revues de code sous Gitlab depuis plus de deux mois, pratiquement sans frictions. J'ai configuré rss2email pour envoyer des notifications par courrier électronique à chaque fois qu'un développeur envoie de nouvelles commissions. Ensuite, j'utilise la fonctionnalité de commentaire de Gitlab pour les commits afin de faire quelques commentaires sur le code envoyé.

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

C'est loin d'être parfait, mais ça marche bien jusqu'à présent.

8
Herberth Amaral

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

Ensuite, vous pouvez ajouter des commentaires aux modifications de fichier validées (bouton Reply) ou à la totalité commet

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 réviser le code sur un PC avec une communication face à face chaque fois que possible et d'utiliser des outils pour enregistrer les résultats ou lorsque davantage de formalités sont nécessaires.

Pour une revue de fichier comportant beaucoup de commits, par exemple 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 simplement d'ajouter des modifications en tant que commentaires dans ce cas.

3
Paul Verest

Oui. Les demandes de fusion déterminent comment les examens par les pairs sont réalisés.

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

La vidéo explique également comment elle peut être utilisée pour un examen par les pairs.

0
onionjake

Le cas d'utilisation normal des révisions de code est de réviser le code sur une branche avant de le fusionner en maître ou similaire. Dans certaines situations, j'ai développé un projet et je souhaite que tout le code soit examiné par tous les membres de l'équipe.

Ce que j'ai fait était:

Commander le premier commit, y apporter une modification, commit et Push

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

Commander le dernier commit, le modifier, le commit 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 d'extraction

  • C'est une fusion de LAST_COMMIT vers FIRST_COMMIT

Travaille pour moi!

0
HankCa