Jest kilka powodów dla których tworzenie patchy jest przydatne - jeśli tu jesteś to pewnie masz jakiś własny…

Tworzenie patch’a

diff -crB old new > from-old-to-new.patch

W powyższym poleceniu założyłem że old i new to katalogi z wieloma podkatalogami i plikami - stąd opcja -r. -c dodaje kilka linijek “kontekstu” przez co łatwiej rozeznać się w patch’u. Opcja -B ignoruje puste linie, których patchowanie mnie nie interesuje.

Patchowanie

Na początek zawsze warto wywołać polecenie z opcją -dry-run by zobaczyć czy patch wykona się poprawnie:

patch --dry-run -p1 -i from-old-to-new.patch

Opcja -p1 zakłada że uruchamiamy patcha z folderu “projektu”, który chcemy patchować. Opcję -i można z powodzeniem zastąpić przekierowaniem < .
Jeżeli nie widzimy żadnych komunikatów “FAILED” to możemy uruchomić patcha:

patch -p1 -i from-old-to-new.patch