Посібник з написання патчів

Нижче наведено поради від Matz щодо того, як зробити так, щоб ваші патчі розглядалися.

Ці настанови взято з допису Matz у поштовій розсилці Ruby-Core:

  • Одна зміна — один патч

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

  • Додавайте описи

    Іноді сам патч недостатньо описує проблему, яку він виправляє. Кращий опис (яку проблему виправляє, передумови, платформа тощо) допоможе швидше об’єднати патч.

  • Diff для останньої ревізії

    Вашу проблему могло бути виправлено в останній ревізії. Або код уже може бути зовсім іншим. Перед надсиланням патча спробуйте отримати найновішу версію (гілка trunk для найновішої версії розробки, ruby_2_6 для 2.6) з репозиторію Subversion.

  • Використовуйте diff -u

    Ми віддаємо перевагу unified diff-патчам diff -u над diff -c або будь-яким іншим стилем. Їх значно легше переглядати. Не надсилайте змінені файли — ми не хочемо створювати diff самостійно.

  • Додавайте тест-кейси (необов’язково)

    Патч із тест-кейсами (бажано патч до test/*/test_*.rb) допоможе нам зрозуміти патч і ваші наміри.

Ми можемо перейти до Git-стилю push/pull workflow у майбутньому. Але до того часу дотримання цих рекомендацій допоможе вам уникнути розчарувань.