Spesso prima che venga aggiornato un modulo o rilasciata una nuova versione del “core” Drupal, ci si accorge che vi sono degli errori o un diverso metodo per risolvere un problema. In qusti casi si rilasciano dei piccoli file che contengono queste modifiche. Questi file si chiamano “Patch“. Tramite una patch è possibile modificare automaticamente del codice presente in più file, con un solo comando. Inoltre è possibile, nel caso non funzionasse, ritornare al file originale senza problemi. Questi file sono identificati con l’estensione .patch
Per poter utilizzare questo comando abbiamo bisogno del comando patch di linux. Se siamo in un sistema Windows, possiamo installare CygWin (scaricabile gratuitamente dal sito http://www.cygwin.com/).
Cygwin è un software gratuito che permette di utilizzare comandi linux in ambiente Windows. Una volta scaricato ed installato, viene presentata una schermata in cui è possibile scegliere quali comandi installare. Lasciare quelli di default ed abilitare il comando patch situato nella categoria Tools.
A questo punto abbiamo una shell “linux” con cui possiamo interagire ed esguire le patch dei nostri file.
Per far ciò sistemiamo il nostro file patch nella cartella desiderata (es: nella cartella del modulo se stiamo modificando un modulo).
Quindi nella finestra shell, digitiamo :
1 |
<strong> patch < file-da-patchare.patch </strong> |
se tutto va bene abbiamo terminato, altrimenti per tornare al file originale digitiamo ;
1 |
<strong> patch -R < file-da-patchare.patch </strong> |
Per posizionarci facilmente in una cartella ed avere la shell già impostata possiamo fare in questo modo:
Creare un file imposta.reg ed inseriamo le seguenti righe:
[text]
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\bash]
@="Apri la Shell qui"
[HKEY_CLASSES_ROOT\Directory\shell\bash\command]
@="c:\\cygwin\\bin\\bash.exe –login -i -c ‘cd \"cygpath \"$*\"
\";bash’ bash %L"
[HKEY_CLASSES_ROOT\Drive\shell\bash]
@="Apri la Shell qui"
[HKEY_CLASSES_ROOT\Drive\shell\bash\command]
@="c:\\cygwin\\bin\\bash.exe –login -i -c ‘cd \"cygpath \"$*\"
\";bash’ bash %L"
[/text]
quindi eseguire il file cliccandoci sopra.
In questo modo avremo una nuova voce, “Apri la Shell qui” ogni volta che clicchiamo sul tasto destro di ogni cartella. ;)
Allora ho una domanda simile a quella di Andrea. non posso eseguire comandi,cosa posso fare?
se hai un hosting su aruba, non hai accesso alla shell di sistema quindi non puoi eseguire comandi.
Potresti fare tutto in locale e poi uplodare. Per farlo però devi installare CygWin, easyphp (o similare) e drupal.
Grazie mille!
Ciao Gennaro,
ho installato drupal 7 su aruba (shared hosting credo, quello economico) come posso fare per installare una patch?
Sul mio pc non ho installato ne drupal ne un web server.. c’è una soluzione?
Grazie!