Перейти до змісту

Отримання відгуку на запит на злиття

Ваш запит на злиття було надіслано, і він успішно пройшов автоматичну перевірку (CI). Тепер його можна переглядати.

tl;dr — Процес рецензування

Короткий опис процесу розгляду:

  1. Дочекайтеся огляду.
  2. Відповідайте на відгуки.
  3. У разі, якщо вимагаються зміни:
    • Виконайте необхідні зміни.
    • Внесіть усі необхідні зміни.
    • Подайте повторний запит на перевірку після внесення всіх необхідних змін.
    • Повторюйте виконання третього розділу, доки не буде потрібно вносити жодних змін.
  4. Дочекайтеся, поки ваш запит на злиття буде схвалено та злито.

Вітаємо! Ви щойно зробили внесок у BeeWare!

Я надіслав свій запит на злиття коду, що далі?

Після надсилання запиту на злиття (pull request) вам доведеться дочекатися перевірки вашого внеску. Процес перевірки має дві сторони: надання відгуку та отримання відгуку.

Оцінка очікувань

Ви повинні розраховувати на те, що всі, хто перевіряє ваші матеріали, дотримуватимуться цих рекомендацій, у тому числі й члени основної команди. Ви також повинні дотримуватися цих рекомендацій під час перевірки матеріалів інших авторів.

Якщо ви вважаєте, що ваш рецензент не дотримується цих вимог, і вам зручно самостійно підняти це питання у pull-запиті, ви можете це зробити. Якщо ви не впевнені, будь ласка, зверніться до команди реагування на порушення Кодексу поведінки BeeWare. Ми розглянемо ваше повідомлення та зв’яжемося з вашим рецензентом. Реакція на повідомлення залежатиме від характеру порушення: незначне порушення може призвести до обговорення, тоді як серйозне порушення може мати більш суворі наслідки.

Написання відгуку

Кожен може залишити відгук щодо будь-якого запиту на злиття. У цих рекомендаціях описано наші очікування щодо відгуків, незалежно від того, чи їх залишає член основної команди, чи учасник спільноти.

Остаточну перевірку завжди повинен проводити член основної команди; проте відгуки членів спільноти можуть стати корисним засобом для оптимізації процесу — в ідеалі перевірка з боку основної команди мала б бути лише формальністю після того, як відгуки спільноти виявлять усі основні проблеми.

Отримання відгуку

Процес отримання відгуку складається з трьох основних етапів:

  1. Перші відгуки та запитання.
  2. Запити на внесення змін.
  3. Затвердження та об’єднання.

Кожен крок детально описано нижче. Якщо у вас виникнуть питання на будь-якому етапі процесу, не соромтеся їх задавати! Ми з радістю допоможемо.

Графік та перші відгуки

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

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

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

Запити на внесення змін

У більшості випадків рецензент буде просити внести зміни до вашого pull-запиту. Це не обов’язково свідчить про якість вашої роботи — це просто частина процесу.

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

Внесіть необхідні зміни

Рецензент залишатиме коментарі до вашого запиту на злиття. Ці коментарі можуть бути загального характеру, стосуватися конкретного файлу або конкретного рядка чи рядків коду. Іноді вони міститимуть конкретні пропозиції щодо змін, які ви зможете застосувати до свого запиту на злиття через інтерфейс GitHub. Зазвичай це будуть запитання, прохання про уточнення або рекомендації щодо оновлень.

Позначення розмови як вирішеної

Під час обговорення в рамках процесу зворотного зв’язку ви ні в якому разі не повинні позначати розмову, яку розпочав ваш рецензент, як «вирішену». Позначення розмови як вирішеної — це обов’язок рецензента. Саме він повинен визначити, чи було вирішено виявлену проблему.

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

Внесіть усі необхідні зміни

Після того як ви внесете всі необхідні зміни, ви зможете опублікувати оновлення у своєму pull-запиті. Це запустить новий цикл CI; як тільки ви переконаєтеся, що CI продовжує успішно проходити, залиште коментар із проханням про повторний розгляд, і основна команда ще раз розгляне ваш pull-запит.

Виконуйте push, а не force чи rebase

Під час оновлення вашого пул-реквесту в процесі рецензування важливо зберегти історію комітів у незмінному вигляді. Не має значення, чи є там величезний список комітів — усі вони будуть об’єднані під час злиття пул-реквесту. Якщо ви виконаєте примусове відправлення (force push) або ребейз (rebase) вашого пул-реквесту посеред процесу рецензування, ви можете видалити важливий контекст, необхідний рецензенту.

Повторно подати запит на перегляд

Після того як ви усунете всі зміни, запропоновані в рамках даного огляду, і CI знову почне працювати без помилок, ви зможете повторно звернутися до рецензента з проханням про огляд. Якщо проблема є особливо складною, і виправлення однієї її частини вплине на іншу, ви можете попросити про огляд саме тієї частини, яку ви оновили. Вважатиметься, що будь-який запит на рецензію є запитом на повну рецензію. Якщо ви не готові до повної рецензії, обов’язково вкажіть, чого саме ви очікуєте.

Схвалення та об’єднання запиту на внесення змін

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