Jak używać narzędzia patch pod systemem Windows

Dziś prosta lekcja dla wszystkich, którzy na słowo patch reagują nerwowym tikiem w prawym oku.

Czym są pliki patch?

Są to "łatki" do plików zawierających kod źródłowy. Na stronach http://drupal.org znajdziemy wiele łatek, które rozwiązują problemy z modułami. Łaty są raz na jakiś czas przeglądane przez opiekuna modułu i odrzucane bądź dołączane do kodu modułu.

Jednak czasem zdarza się, że jakaś łatka jest przydatna, poprawia coś ważnego, ale ciągle nie wchodzi do oficjalnego źródła w następnej wersji modułu. Jeśli bardzo potrzebujemy takiej poprawki to z tej lekcji dowiesz się jak się to robi.

UWAGA - sposób odnosi się do plików, które generowano na platformie CVS. Nie wiem czy będzie to działać z plikami jakie bedą przygotowywane dla platformy git.

Jak wgrywać pliki patch?

Narzędzia wspominane w lekcji

UnxUtils - http://unxutils.sourceforge.net/
Notepad++ - http://notepad-plus-plus.org/
Winmerge (nie wspomniałem o nim, ale przydaje się do porównania 2 plików tekstowych) - http://winmerge.org/

0
Twoja ocena: None

Odpowiedzi

Problemy z patch

Palik, dzięki za bardzo potrzebny tutorial. Mam prośbę o poradę - wszystko jasne dla mnie jako początkującego, poza początkiem - czyli jak poprawnie zainstalować patch.exe? Po ściągnięciu (Win 7 64) skopiowałem plik patch.exe do folderu w którym wykonuję operacje, ale otwiera mi się nowe puste okno wiersza poleceń. Jak wpiszę patch --help, to pojawia się nowy wiersz i nic się nie dzieje. Co powinienem zrobić?

Poza tym - co jeśli mam patcha, który zawiera łaty do wielu plików, w tym chyba ma tworzyć jeszcze nie istniejące - http://drupal.org/files/issues/advpoll-multirate_polls-156783-20.patch w wątku: http://drupal.org/node/156783#comment-3623848. Np drugi zmieniany plik to advpoll-display-multirate-form.tpl.php, którego w oryginalnym module nie ma...

Będę wdzieczny za rady.
Mateusz

myślę, że może tu chodzić o

myślę, że może tu chodzić o to, że unixutils nie będzie chciało działać na systemie 64-bit... mogę się mylić, ale trzeba by poszukać i przetestować program patch w jakiejś 64-bitowej wersji,

jakieś ślady odpalania uniksowych narzędzi pod windows 7 /2008 server są np tu - http://technet.microsoft.com/pl-pl/library/cc732759.aspx

inne podejście (rekomendowane w podręczniku http://drupal.org/node/620014) to instalacja cygwin'a, który podobno działa pod win xp/vista/7 64-bit. Video z instalacji jest tu http://www.lullabot.com/videos/install-cygwin-windows-xp

Bardzo dziękuję Ci Palik za

Bardzo dziękuję Ci Palik za szybką odpowiedź! Tymczasem po prostu ręcznie to spatchowałem pliki...:)

Paczka UnxUtils ma uszkodzone

Paczka UnxUtils ma uszkodzone archiwum. Ja sobie poradziłem ... mam ssh ale inni drupalowcy mogą mieć problem.

pozdrawiam
dkdnt