Jeśli błąd występuje w Drupal 7, czy muszę go również naprawić w Drupal 8 i przesłać dwie łatki?
Jeśli błąd występuje w opracowywanej wersji (w tym przypadku Drupal 8) i poprzedniej wersji (Drupal 7), wówczas błąd powinien być najpierw naprawiony w aktualnie opracowanej wersji, a następnie w poprzednich wersjach.
Jeśli błąd nie występuje w najnowszej opracowanej wersji, na przykład dlatego, że błąd dotyczy funkcji, która została usunięta lub została już zmieniona, należy dostarczyć poprawkę do wersji przed aktualnie opracowaną.
Następujący przepływ pracy to:
- Najpierw tworzona jest łatka i przesyłana do recenzji dla najnowszej wersji, nawet jeśli jest jeszcze w fazie rozwoju (tak jak w przypadku Drupala 8)
- Po zastosowaniu tej poprawki do Drupala tworzona jest łatka, która dotyczy poprzedniej wersji i przesyłana do recenzji
Możesz tworzyć łatki dla dwóch wersji Drupal jednocześnie, ale ponieważ łatka dla najnowszej wersji Drupal może wymagać zmian, lepiej jest pracować nad łatką dla aktualnie opracowanej wersji, niż pracować na dwóch różnych łatkach, które wymagają zmienić się.
Zobacz także: Zasady dotyczące backportu .
Czy dotyczy to również błędów / ulepszeń dokumentacji?
Tak. Również w tym przypadku, jeśli aktualnie opracowana wersja usunęła funkcję / metodę, do której odnosi się dokumentacja, należy dostarczyć łatkę dla poprzedniej wersji.
Czy wszystkie łatki wymagają również testu jednostkowego?
Jeśli poprawka dotyczy dokumentacji, nie wymaga testów. Bot testowy działający na http://qa.drupal.org sprawdza kod Drupala po zastosowaniu łatki; jeśli łatka wprowadza błędy składniowe (na przykład ponieważ komentarz jest zamykany przed potrzebą), bot testowy zgłosi błąd dotyczący poprawki przed uruchomieniem testów.
Jeśli łatka dotyczy nowej funkcji, wymagane są testy.
Jeśli łatka ma naprawić błąd, wówczas mogą być wymagane testy od opiekunów, jeśli nie ma jeszcze testu sprawdzającego określoną funkcję. Test jest ogólnie niezbędny, aby uniknąć ponownego wprowadzenia tego samego błędu przy zmianie tego samego kodu w przyszłości. Jeśli błąd jest jedynie zmienną, która została zainicjowana, ale nigdy nie jest używana z funkcji / metody, istnieje prawdopodobieństwo, że testy nie są wymagane.