Как правильно добавлять патчи в ядро Drupal?
Допустим, я нашел ошибку в ядре Drupal, исправил ее и создал патч . Как мне отправить это?
Если ошибка в Drupal 7, я должен также исправить это в Drupal 8 и отправить два патча? Относится ли это также к ошибкам / улучшениям документации?
Все патчи также требуют юнит-теста?
community-official-site
version-control
mpdonadio
источник
источник
Ответы:
Если ошибка присутствует в разрабатываемой версии (в данном случае Drupal 8) и в предыдущей версии (Drupal 7), то эту ошибку следует сначала исправить в текущей разрабатываемой версии, а затем в предыдущей (ых) версии (ях).
Если ошибка отсутствует в последней разработанной версии, например, потому что ошибка относится к функции, которая была удалена или уже была изменена, то патч должен быть предоставлен для версии до текущей разработанной версии.
Рабочий процесс, который следует:
Вы можете создавать патчи для двух версий Drupal одновременно, но, поскольку патч для последней версии Drupal может потребовать изменений, лучше работать над патчем для текущей разрабатываемой версии, чем работать с двумя различными патчами, которые оба требуют быть изменен.
Смотрите также: Политика Backport .
Да, это так. Также в этом случае, если разрабатываемая в настоящее время версия удалила функцию / метод, на который ссылается документация, необходимо предоставить исправление для предыдущей версии.
Если патч для документации, он не требует тестов. Тестовый бот, работающий на http://qa.drupal.org, проверяет код Drupal после применения патча; если в патче присутствуют синтаксические ошибки (например, из-за того, что комментарий закрыт до необходимого), то тестовый бот сообщит об ошибке патча до запуска тестов.
Если патч для новой функции, то тесты обязательны.
Если исправление предназначено для исправления ошибки, то от сопровождающих могут потребоваться тесты, если тест еще не проверяет определенную функцию. Тест обычно необходим, чтобы избежать повторного появления той же ошибки при изменении в будущем того же кода. Если ошибка - это просто переменная, которая инициализируется, но никогда не используется из функции / метода, то, скорее всего, тесты не требуются.
источник
Каждая страница проекта на drupal.org имеет вкладку «Контроль версий» вверху. Он дает не только отличный обзор всех параметров репозитория кода для конкретного проекта, но и все примеры команд git также адаптированы для проекта. Вы даже можете интерактивно изменить его на определенную версию тоже.
Для ядра Drupal вы найдете эту страницу на http://drupal.org/project/drupal/git-instructions
Затем, когда вы создали свой патч, вы просто прикрепляете файл патча к проблеме, которая объясняет, что делает ваш патч.
Следует отметить две важные вещи: убедиться, что патч заканчивается на «.patch» и установить статус «Требуется проверка». Это так, что тест-бот заметит это и автоматически запустит свой тест.
Новый код всегда должен сопровождаться тестами .
Обратите внимание, что это возможно отключить по проектам, а некоторые делают. Для ядра Drupal он включен, поэтому все патчи будут протестированы.
Вы можете найти больше на http://drupal.org/contribute/development .
источник