Zastosowanie poprawki w gałęzi funkcji

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

  1. Postępuj zgodnie z krokami Klonowanie repozytorium Drupal git, aby utworzyć lokalną kopię repozytorium lub zaktualizuj istniejącą lokalną kopię do najnowszej wersji.
  2. 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 < .patch

Odwróć poprawkę, dodając parametr -R:

patch -R -p1 < .patch

Commit 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-dependencies

Przypisy

  • Możesz również zastosować łatki za pomocą git amgit am jest również przydatny, jeśli łatki zostały utworzone przez git format-patch.
  • Komenda patch jest 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ę *.patch do pliku .git/info/exclude w 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).

.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *