Esta página describe un flujo de trabajo para descargar y aplicar parches a un espacio de trabajo local, basado en «ramas de temas» locales.
Nota: También puedes usar la herramienta drupalorg-cli para crear una rama de temas y aplicar el parche.
Prepare el repositorio local
- Siga los pasos de Clonación de un repositorio git de Drupal para hacer una copia local del repositorio o actualice su copia local existente a la última versión.
- Cree una «rama temática» local para el tema en el que está trabajando.
git checkout -b - # e.g. 123456-some-bug
Obtenga y aplique un archivo de parche
Descargue el archivo de parche de la incidencia, y aplique los cambios de código en el parche a su directorio de trabajo (los siguientes comandos suponen que está en una ventana de terminal en el directorio raíz del proyecto). Hay varias alternativas:
Además, hay muchos argumentos de línea de comandos para el comando git apply
. Uno útil es -v
, que da una salida más verbosa:git apply -v patchname.patch
Consulte la documentación de git apply para más información.
Si el parche no se aplica, y tal vez esté recibiendo un mensaje «Skipped patch …», pruebe el comando patch
(vea «Notas al pie» más abajo para más información) o vuelva a aplicar el parche:
patch -p1 < .patch
Revise el parche, añadiendo el parámetro -R
:
patch -R -p1 < .patch
Confirmar el parche
Si tienes pensado trabajar en la mejora del parche, el siguiente paso es confirmar el parche original en la rama de tu repositorio local:
git add FILESAFFECTEDgit commit -m "Patch COMMENTNUMBER by OTHERPERSON”
Cuando hayas terminado: Limpieza del código
Después de haber terminado de probar el parche, querrás devolver tu repositorio a un estado «limpio»:
- Usa este comando para revertir el parche:
git apply -R path/file.patch
- Usa este comando para eliminar la rama de características que has creado:
git branch -D
Compositor
Si estás manteniendo el código de un sitio Drupal con Composer, y uno de los proyectos necesita tener un parche:
* Para aplicar parches con composer necesitas instalar el proyecto composer-patches:
composer require cweagans/composer-patches:~1.0 --update-with-dependencies
Notas al pie
- También puedes aplicar parches con
git am
git am
también es útil si los parches fueron creados porgit format-patch
. - El comando
patch
es útil para los parches que no se aplican, ya que aplicará la mayor parte del parche y luego podrás mirar el archivo.rej
que crea para los «trozos» rechazados del parche, y arreglarlos manualmente. Si es demasiado complicado, intente volver a lanzar el parche. - Dado que los archivos del parche en sí mismos no deberían añadirse nunca al proyecto, puede indicar a Git que los ignore añadiendo la línea
*.patch
al archivo.git/info/exclude
del proyecto, o a un archivo global ~/.gitignore. Alternativamente, puede descargarlos en una ubicación diferente. - Si tiene errores cuando intenta aplicar un parche, compruebe lo siguiente:
- El parche puede tener una codificación de final de línea incorrecta. Nuestro estándar es utilizar la codificación de fin de línea estilo Unix (consulte las Directrices para parches).
- El parche puede no coincidir con la última versión de desarrollo. Consulte la sección Volver a aplicar parches para saber cómo fusionar los cambios posteriores.
- Si las pruebas automáticas también marcaron el parche como no aplicable en el momento en que se creó, el desarrollador que creó el parche puede haber cometido un error (como no usar Git o no usar la última versión de desarrollo).
.