Як налаштувати огляд коду за допомогою Gitlab?


85

Як налаштувати огляд коду за допомогою Gitlab? Я бачу, що це перераховано як функцію на веб-сайті Gitlab, але я, здається, не можу знайти інструкції щодо його налаштування (з цього приводу будь-яке посилання на посібник користувача Gitlab буде найбільш вдячним).

Деякі з моїх пошуків показали, що "Запити на об'єднання" - це шлях ... але я вважаю, що вони обмежують. Виданий запит на злиття показує всі коміти між однією гілкою та іншою. Здається, я можу переглядати різниці, створені для кожного окремого коміту. Наприклад, скажімо, у мене є файл, який я хочу переглянути. Це новий файл, але я подав зміни до нього за 10 комітів у гілці розробника. Якщо я видаю запит на злиття для цієї гілки розробника з інтеграції, я бачу 10 комітів, кожен з яких показує поступові зміни, внесені у файл ... Я хочу переглянути все. Це нове!

Я тут гавкаю не те дерево? Чи існує справжній інструмент перегляду коду, який я можу використовувати в GitLab, чи є запити на злиття, і якщо вони є, я використовую їх неправильно? який найкращий спосіб налаштувати правильний огляд коду тут?



З GitLab 13.1 (червень 2020 р.) Тепер у вас є відгуки про об’єднання запитів. Дивіться мою відредаговану відповідь нижче
— VonC

Відповіді:


24

Примітка. Починаючи з GitLab 6.4, доступний паралельний перегляд різниці: див. " Витягнути запит 5308 "

(Липень 2013 р.)Поки що немає можливості коментувати кожен рядок, але лише на рівні файлу.
Даніель Соколовський згадує в коментарях, що тепер підтримуються коментарі за рядками (09/2014):

Члени вашої команди можуть коментувати запит на об’єднання загалом або окремі рядки з коментарями до рядків.

Це все ще може допомогти в діяльності з перегляду коду.

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


6 років потому для GitLab 13.1 (червень 2020) :

Відгуки про запити на злиття переміщено до Core

Спочатку представлений у GitLab 11.4 як функція GitLab Premium, огляди запитів на злиття дозволяють рецензентам запитів на злиття:

  • подавати кілька коментарів одночасно,
  • зменшення шуму сповіщення для автора запиту на злиття, та
  • що дозволяє забезпечити більш згуртований та впорядкований процес розгляду.

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

З моменту його введення ми переглянули його місце в нашій ціновій моделі на основі покупців, і, як частина 13.1, ми раді повідомити, що ця функція перейшла до GitLab Core.

Див. Документацію та випуск


Тепер підтримуються коментарі для кожного рядка: "Члени вашої команди можуть коментувати запит на об’єднання загалом або окремі рядки з коментарями до рядків." ( about.gitlab.com/2014/09/29/gitlab-flow )
— Даніель Соколовський

1
@DanielSokolowski Чудово! Я включив ваш коментар у відповідь для більшої наочності.
— VonC

9

Я робив огляди коду в Gitlab вже більше двох місяців, майже без тертя. Я налаштував rss2email для надсилання сповіщень електронною поштою кожного разу, коли розробник натискає нові коміти. Потім я використовую функцію коментарів Gitlab для комітів, щоб зробити деякі коментарі щодо натиснутого коду.

На жаль, Gitlab не дозволяє коментувати самі файли, лише в комітах (так само, як і Github, я думаю). Кожного разу, коли я потрапляю в ситуацію, коли мені потрібно прокоментувати щось, що я пропустив під час попереднього коміту, я використовую інструмент звинувачення, щоб знайти коміт, який ввів / змінив розділ коду, який коментується.

Це далеко не ідеально, але поки працює добре.


1
Замість rss2email можна використовувати сповіщення Gitlab, щоб отримувати повідомлення про натискання.
— vadipp

У мене така сама проблема / обхідний шлях. Я вважаю, було б непоганим доповненням до функції, коли ви можете додати коментар до потрібного коміту, звинувачуючи певний рядок у перегляді різниці або файлу (я маю на увазі з веб-інтерфейсу перегляд файлів або розбіжностей, а не звинувачення).
— AlejandroVD

2

Ви можете побачити надісланий код у запиті на злиття для іншого сховища або в поточному сховищі.
приклад http://demo.gitlab.com/diaspora/diaspora/commits/master

Потім ви можете додати коментарі до фіксованих змін файлу (кнопка Reply) або до всього коміту

приклад http://demo.gitlab.com/diaspora/diaspora/commit/42f47626890218a180870bc3f44ec57625b0779c

Отримане повідомлення - це перегляд коду . Однак я особисто рекомендую проводити огляд коду на одному ПК за допомогою особистого спілкування, коли це можливо, і використовувати інструменти для запису результатів або коли потрібно більше офіційності.

Для файлового журналу, в якому багато комітів, наприклад, http://demo.gitlab.com/diaspora/diaspora/blame/master/README.md, подивіться на нього, blameщоб зрозуміти, хто що зробив. Однак у цьому поданні немає можливості спілкуватися та додавати коментарі. У цьому випадку я рекомендую просто додати зміни як коментарі.


7
Я отримую 404 для першого, другого та останнього посилання у вашій відповіді.
— Bryan Oakley

1
Як сказано на домашній сторінці, demo.gitlab.com "Є ПІСКОВИЧНИЙ ЗВІТ - це скидання щогодини", тому всі приклади були знищені. Це не хороший транспортний засіб для прикладів.
— Uriah Blatherwick

Так, будь ласка, перегляньте його налаштування на відповідних прикладах. Ваша відповідь здається загалом вагомою порадою.
— дані

0

Так. Запити на злиття - це спосіб проведення експертних оглядів.

Має бути вкладка "diff", яка відображатиме зміни всіх комітів (згаданих тут: http://youtu.be/DyAX8ws5OIc?t=3m2s ).

Відео також добре пояснює, як його можна використовувати для рецензування.


0

Звичайний випадок огляду коду - це перегляд коду на гілці перед об’єднанням у master або подібний. У мене ситуація, коли я розробив проект і хочу, щоб весь код переглядали всі члени команди.

Що я зробив:

Оформіть перший коміт, внесіть до нього зміни, фіксуйте та натискайте

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

Оформіть останній коміт, внесіть до нього зміни, фіксуйте та натискайте

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

На GitLab / GitHub створіть запит на витягування

  • Це об’єднання з LAST_COMMIT на FIRST_COMMIT

Працює для мене!


Чи не залишається у вас двох "небажаних" гілок у сховищі та відсутність відстеження коментарів у головній гілці? Якщо коментарі вимагають змін коду, ви об'єднуєте їх для обробки?
— user2084572

Так, існуватимуть гілки FIRST_COMMIT та LAST_COMMIT, які легко видалити ( git br --delete --force origin FIRST_COMMIT LAST_COMMIT; git br --delete --force FIRST_COMMIT LAST_COMMIT). Ви можете використовувати інший майстер відгалуження, щоб містити зміни до нього, або створити окремі проблеми вручну. А пізніше створіть одну або кілька гілок (наприклад, одну на випуск), якщо відгуків буде занадто багато.
— HankCa,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.