Så här fungerar patchar
Patch-filer (eller diff-filer) är textfiler som innehåller följande information:
- De filer som ska ändras.
- Radnumret som börjar ändringen och antalet rader som ska ändras.
- Den nya koden som ska bytas in.
När korrigeringsprogrammet körs läses den här filen in och de angivna ändringarna görs i filen/filerna.
Det finns tre typer av patchar:
- Programfixar - Programfixar som Adobe publicerar på Säkerhetscenter.
- Enskilda korrigeringsfiler - korrigeringsfiler som skapas och distribueras individuellt av Adobe Commerce Support.
- Anpassade korrigeringsfiler - Ej officiella korrigeringsfiler som du kan skapa från en Git-implementering.
Programfixar
Programfixar är korrigeringar som innehåller effektiva säkerhets- eller kvalitetskorrigeringar som påverkar många handlare. Dessa korrigeringar tillämpas på nästa korrigeringsversion för den tillämpliga delversionen. Adobe släpper snabbkorrigeringar efter behov.
Du hittar snabbkorrigeringar i Säkerhetscenter. Följ instruktionerna på sidan för att hämta korrigeringsfilen, beroende på version och installationstyp. Använd kommandoraden eller Composer för att tillämpa snabbkorrigeringar.
Enskilda patchar
Enskilda korrigeringsfiler innehåller korrigeringar av låg kvalitet för ett specifikt problem. Dessa korrigeringar tillämpas på den senaste delversionen som stöds (till exempel 2.4.x), men kan saknas i den tidigare delversionen som stöds (till exempel 2.3.x). Adobe släpper enskilda patchar efter behov.
Använd Quality Patches Tool för att tillämpa enskilda korrigeringsfiler.
Egna patchar
Ibland tar det ett tag för Adobe Engineering Team att inkludera en felkorrigering som gjorts på GitHub i en Adobe Commerce Composer-version. Under tiden kan du skapa en patch från GitHub och använda plugin-programmet cweagans/composer-patches
för att tillämpa den på din Composer-baserade installation.
Använd kommandoraden eller disposition för att använda anpassade korrigeringsfiler.
Det finns många sätt att skapa anpassade korrigeringsfiler. I följande exempel fokuseras på att skapa en korrigering från en känd Git-implementering.
Så här skapar du en anpassad patch:
-
Skapa en
patches/composer
-katalog i ditt lokala projekt. -
Identifiera GitHub-implementeringen eller pull-begäran som ska användas för korrigeringen. I det här exemplet används
2d31571
commit, som är länkat till GitHub-utgåvan #6474. -
Lägg till
.patch
eller.diff
-tilläggen i den implementerade URL:en. Använd.diff
för en mindre filstorlek. Till exempel: https://github.com/magento/magento2/commit/2d31571f1bacd11aa2ec795180abf682e0e9aede.diff -
Spara sidan som en fil i katalogen
patches/composer
. Exempel:github-issue-6474.diff
. -
Redigera filen och ta bort
app/code/<VENDOR>/<PACKAGE>
från alla sökvägar så att de är relativa till katalogenvendor/<VENDOR>/<PACKAGE>
.note note NOTE Textredigerare som automatiskt tar bort efterföljande tomt utrymme eller lägger till nya rader kan bryta lagningen. Använd en enkel textredigerare för att göra dessa ändringar.
I följande exempel visas den tidigare nämnda DIFF-filen när alla instanser av app/code/Magento/Payment
har tagits bort:
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;
},
Tillämpar patchar
Du kan använda patchar på något av följande sätt: