Cómo funcionan los parches
Los archivos de parche (o diff) son archivos de texto que indican:
- Los archivos que se van a cambiar.
- El número de línea para comenzar el cambio y el número de líneas que se van a cambiar.
- El nuevo código que se va a intercambiar.
Cuando se ejecuta el programa de revisión, este archivo se lee en y se realizan los cambios especificados en los archivos.
Existen tres tipos de parches:
- Revisiones: parches que publica el Adobe en el Centro de seguridad.
- Parches individuales: Parches que el Soporte técnico de Adobe Commerce crea y distribuye de forma individual.
- Parches personalizados: parches no oficiales que se pueden crear a partir de una confirmación de Git.
Revisiones
Las revisiones son parches que contienen correcciones de alta calidad o seguridad de impacto que afectan a muchos comerciantes. Estas correcciones se aplican a la próxima versión del parche para la versión secundaria aplicable. El Adobe publica revisiones según sea necesario.
Encontrará revisiones en Centro de seguridad. Siga las instrucciones de la página para descargar el archivo de parche, según la versión y el tipo de instalación. Use la línea de comandos o Compositor para aplicar revisiones de revisión.
Parches individuales
Los parches individuales contienen correcciones de calidad de bajo impacto para un problema específico. Estas correcciones se aplican a la versión menor admitida más recientemente (por ejemplo, 2.4.x), pero podrían no estar presentes en la versión menor admitida anteriormente (por ejemplo, 2.3.x). El Adobe libera los parches individuales según sea necesario.
Use Quality Patches Tool para aplicar parches individuales.
Parches personalizados
A veces, el equipo de ingeniería de Adobe tarda un tiempo en incluir una corrección de errores realizada en GitHub en una versión del Compositor de Adobe Commerce. Mientras tanto, puede crear un parche desde GitHub y utilizar el complemento cweagans/composer-patches
para aplicarlo a su instalación basada en Compositor.
Use línea de comandos o Compositor para aplicar parches personalizados.
Existen muchas maneras de crear archivos de parche personalizados. El siguiente ejemplo se centra en la creación de un parche a partir de una confirmación de Git conocida.
Para crear un parche personalizado:
-
Cree un directorio
patches/composer
en el proyecto local. -
Identifique la solicitud de confirmación o extracción de GitHub que se utilizará para el parche. Este ejemplo utiliza la confirmación
2d31571
, vinculada al problema de GitHub #6474. -
Anexe las extensiones
.patch
o.diff
a la dirección URL de confirmación. Use.diff
para obtener un tamaño de archivo más pequeño. Por ejemplo: https://github.com/magento/magento2/commit/2d31571f1bacd11aa2ec795180abf682e0e9aede.diff -
Guarde la página como archivo en el directorio
patches/composer
. Por ejemplo,github-issue-6474.diff
. -
Edite el archivo y quite
app/code/<VENDOR>/<PACKAGE>
de todas las rutas de acceso para que sean relativas al directoriovendor/<VENDOR>/<PACKAGE>
.note note NOTE Los editores de texto que eliminan automáticamente los espacios en blanco finales o agregan nuevas líneas pueden romper el parche. Utilice un editor de texto sencillo para realizar estos cambios.
El siguiente ejemplo muestra el archivo DIFF mencionado anteriormente después de quitar todas las instancias de app/code/Magento/Payment
:
diff --git a/view/frontend/web/js/view/payment/iframe.js b/view/frontend/web/js/view/payment/iframe.js
index c8a6fef58d31..7d01c195791e 100644
--- a/view/frontend/web/js/view/payment/iframe.js
+++ b/view/frontend/web/js/view/payment/iframe.js
@@ -154,6 +154,7 @@ define(
*/
clearTimeout: function () {
clearTimeout(this.timeoutId);
+ this.fail();
return this;
},
Aplicación de parches
Puede aplicar parches utilizando cualquiera de los siguientes métodos: