Ta strona przedstawia przepływ pracy do pobierania i stosowania poprawek w lokalnym obszarze roboczym, w oparciu o lokalne „gałęzie tematu”.
Uwaga: Można również użyć narzędzia drupalorg-cli do utworzenia gałęzi problemu i zastosowania poprawki.
Przygotuj lokalne repozytorium
- Postępuj zgodnie z krokami Klonowanie repozytorium Drupal git, aby utworzyć lokalną kopię repozytorium lub zaktualizuj istniejącą lokalną kopię do najnowszej wersji.
- Utwórz lokalną „gałąź tematyczną” dla sprawy, nad którą pracujesz.
git checkout -b - # e.g. 123456-some-bug
Pobierz i zastosuj plik poprawki
Pobierz plik poprawki z wydania i zastosuj zmiany kodu w poprawce w swoim katalogu roboczym (poniższe polecenia zakładają, że jesteś w oknie terminala w katalogu głównym projektu). Istnieje kilka alternatyw:
Istnieje również wiele argumentów wiersza poleceń dla polecenia git apply. Jednym z przydatnych jest -v, który daje bardziej dosłowne dane wyjściowe:git apply -v patchname.patch
Zobacz dokumentację git apply, aby uzyskać więcej informacji.
Jeśli łatka nie zostanie zastosowana i być może otrzymujesz komunikat „Pominięto łatkę ….”, spróbuj użyć polecenia patch (zobacz „Przypisy” poniżej, aby dowiedzieć się więcej) lub cofnij poprawkę:
patch -p1 < .patchOdwróć poprawkę, dodając parametr -R:
patch -R -p1 < .patchCommit the patch
Jeśli planujesz pracować nad ulepszeniem łatki, następnym krokiem jest commit oryginalnej łatki do gałęzi lokalnego repozytorium:
git add FILESAFFECTEDgit commit -m "Patch COMMENTNUMBER by OTHERPERSON”Kiedy skończysz: Czyszczenie kodu
Po zakończeniu testowania poprawki, będziesz chciał przywrócić swoje repozytorium do „czystego” stanu:
- Użyj tego polecenia, aby przywrócić poprawkę: git apply -R path/file.patch
- Użyj tej komendy, aby usunąć utworzoną gałąź fabularną: git branch -D
Composer
Jeśli utrzymujesz kod witryny Drupala za pomocą Composera, a jeden z projektów musi mieć łatkę:
* Aby zastosować łatki za pomocą composera musisz zainstalować projekt composer-patches:
composer require cweagans/composer-patches:~1.0 --update-with-dependenciesPrzypisy
- Możesz również zastosować łatki za pomocą git amgit amjest również przydatny, jeśli łatki zostały utworzone przezgit format-patch.
- Komenda patchjest przydatna dla łatek, które nie są stosowane, ponieważ zastosuje większość łatki, a następnie możesz być w stanie spojrzeć na plik.rej, który tworzy dla odrzuconych „kawałków” łatki i naprawić je ręcznie. Jeśli jest to zbyt skomplikowane, spróbuj ponownie rozpakować łatkę.
- Ponieważ same pliki łatek nie powinny być nigdy dodawane do projektu, możesz powiedzieć Gitowi, aby je ignorował, dodając linię *.patchdo pliku.git/info/excludew projekcie, lub do globalnego pliku ~/.gitignore. Alternatywnie, możesz pobrać je do innej lokalizacji.
- Jeśli masz błędy, gdy próbujesz zastosować poprawkę, sprawdź co następuje:
- Poprawka może mieć niewłaściwe kodowanie końca linii. Naszym standardem jest używanie kodowania końca linii w stylu uniksowym (zobacz Wytyczne dla łatek).
- Łatka może nie pasować do najnowszej wersji rozwojowej. Zobacz Rerolling patches, aby dowiedzieć się, jak scalić późniejsze zmiany.
- Jeśli automatyczne testowanie również oznaczyło łatę jako nie stosującą się w czasie, gdy została stworzona, deweloper, który stworzył łatę mógł popełnić błąd (taki jak nie używanie Git lub nie używanie najnowszej wersji rozwojowej).
 
.