Если ошибка в Drupal 7, я должен также исправить это в Drupal 8 и отправить два патча?
Если ошибка присутствует в разрабатываемой версии (в данном случае Drupal 8) и в предыдущей версии (Drupal 7), то эту ошибку следует сначала исправить в текущей разрабатываемой версии, а затем в предыдущей (ых) версии (ях).
Если ошибка отсутствует в последней разработанной версии, например, потому что ошибка относится к функции, которая была удалена или уже была изменена, то патч должен быть предоставлен для версии до текущей разработанной версии.
Рабочий процесс, который следует:
- Сначала патч создается и передается на рассмотрение для самой последней версии, даже если он все еще находится в стадии разработки (например, в случае Drupal 8)
- Как только этот патч применяется к Drupal, патч, который применяется к предыдущей версии, создается и отправляется на рецензирование.
Вы можете создавать патчи для двух версий Drupal одновременно, но, поскольку патч для последней версии Drupal может потребовать изменений, лучше работать над патчем для текущей разрабатываемой версии, чем работать с двумя различными патчами, которые оба требуют быть изменен.
Смотрите также: Политика Backport .
Относится ли это также к ошибкам / улучшениям документации?
Да, это так. Также в этом случае, если разрабатываемая в настоящее время версия удалила функцию / метод, на который ссылается документация, необходимо предоставить исправление для предыдущей версии.
Все патчи также требуют юнит-теста?
Если патч для документации, он не требует тестов. Тестовый бот, работающий на http://qa.drupal.org, проверяет код Drupal после применения патча; если в патче присутствуют синтаксические ошибки (например, из-за того, что комментарий закрыт до необходимого), то тестовый бот сообщит об ошибке патча до запуска тестов.
Если патч для новой функции, то тесты обязательны.
Если исправление предназначено для исправления ошибки, то от сопровождающих могут потребоваться тесты, если тест еще не проверяет определенную функцию. Тест обычно необходим, чтобы избежать повторного появления той же ошибки при изменении в будущем того же кода. Если ошибка - это просто переменная, которая инициализируется, но никогда не используется из функции / метода, то, скорее всего, тесты не требуются.