Aplicarea unui patch nu funcționează (Drupal, Controlul Versiunilor)

dazz a intrebat.

Am probleme cu aplicarea unui patch pentru un modul Drupal.Credeam că este la fel de simplu ca și cum aș folosi „git apply thepatch.patch”, dar când fac acest lucru în directorul principal care conține directorul .git, primesc următorul mesaj de eroare:

Checking patch entity_translation.admin.inc…
eroare: entity_translation.admin.inc: Nu există un astfel de fișier sau director

Când fac acest lucru în directorul în care se află fișierele, nu se întâmplă nimic; nu se afișează nicio eroare, dar niciun fișier nu este modificat.

Nu este o problemă pe care o am cu acest patch special, dar se pare că nu reușesc niciodată să aplic un patch și ajung să editez manual fișierele.

Aș vrea să știu soluția odată pentru totdeauna.

Comentarii

  • A funcționat vreuna dintre aceste soluții pentru voi? –  > Por chrisjlee.
5 răspunsuri
tim.plunkett

Este posibil ca patch-ul să fi fost rulat înainte de zilele de Git pe drupal.org.

Pentru patch-uri vechi:

patch -p0 < thepatch.patch

Pentru patch-uri noi care eșuează în mod misterios cu git apply:

patch -p1 < thepatch.patch

Himanshu Pathak

Urmați pașii de mai jos:

  1. Descărcați fișierul de patch-uri și plasați-l în folderul modulului, adică. sites/all/modules/varnish
  2. Asigurați-vă că vă aflați în același director de module, de ex. sites/all/modules/varnish
  3. Utilizați git init pentru a porni git pe acel depozit, chiar dacă aveți git inițializat la rădăcina drupal.
  4. Rulați comanda git apply -v filename.patch

nmc

Comanda git apply -v thepatch.patch ar trebui să funcționeze.

Va trebui să o rulați în directorul modulului pe care îl corectați (de ex. sites/all/modules/module_name/) și să se acceseze directorul .patch trebuie să se afle tot în acel director. Adresa -v este pentru verbose și ar trebui să vă spună dacă aplicarea patch-ului a avut succes.

Comentarii

  • este pur și simplu nu o face, am încercat alte câteva patch-uri, dar nu se întâmplă nimic. –  > Por dazz.
  • Adăugând la comentariul lui @nmc, că directorul dvs. sites/all/modules nu trebuie să fie sub control de versiune. dar ar trebui să aveți instalat git. –  > Por saadlulu.
kiamlaluno

Instrucțiunile date pentru fiecare proiect găzduit pe Drupal.org sunt următoarele (le puteți găsi pe această pagină, de exemplu):

Aplicarea unui patch

Descărcați patch-ul în directorul de lucru. Aplicați patch-ul cu următoarea comandă:

git apply -v [patchname.patch]

Pentru a evita includerea accidentală a fișierului de corecție în comenzi viitoare, eliminați-l:

rm  [patchname.patch]

Directorul de lucru este directorul care conține fișierele modulului; în cazul modulului Views, acesta este directorul care conține fișierele views.module, views.info și views.install pe care trebuie să le corectați.

bsnodgrass

Am avut aceeași problemă, în cazul meu, următoarele au funcționat pentru mine.

patch -p1 < thepatch.patch

Comentarii

  • Conform acestei pagini drupal.org/patch/apply ar trebui să folosiți patch -p1 < thepatch.patch „Dacă nu folosiți git, sau dacă repo-ul nu este un checkout local al proiectului pe care doriți să-l corectați” – –  > Por Lance Holland.