Aplicar un parche en una rama de características

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

  1. 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.
  2. Cree una «rama temática» local para el tema en el que está trabajando.
    git checkout -b - # e.g. 123456-some-bug
  3. 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 amgit am también es útil si los parches fueron creados por git 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).

.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *