Bash hunk failed Magento

Bash hunk failed magento

Onlangs hebben we enkele .sh-scripts in bash gebruikt, en we zijn vaak een Hunk mislukt-fout tegengekomen. De fout treedt meestal op wanneer je een .sh-script in bash probeert uit te voeren en het ziet er ongeveer zo uit:

Hunk #1 MISLUKT bij…
1 van de 1 hunks MISLUKT — afwijzingen opslaan in bestand…
1
2
Hunk #1 MISLUKT bij…
1 van de 1 hunks MISLUKT — afwijzingen opslaan in bestand…
Er is bijna geen informatie beschikbaar op het internet over het oplossen van deze hunk-failed-fouten, en de reden is dat ze specifiek zijn voor elk .sh-script. Er is eenvoudigweg geen alles-in-één oplossing die in alle scripts werkt, zoals er is voor PHP- of Magento-fouten. Door echter te begrijpen wat er fout gaat in het script, kunt u proberen vast te stellen wat de fout van de hunk mislukt geeft en dit zelf oplossen.

Meestal zijn de .sh-scripts die deze fout kunnen krijgen patchscripts. Ze verwachten op specifieke regelnummers een bepaald stukje code dat het script kan vervangen. Wanneer de code ontbreekt of andere code op dat regelnummer staat dan het script verwachtte, wordt deze fout gegeven. Ik zal dit proberen uit te leggen aan de hand van een voorbeeld.

Onlangs hebben we enkele Magento-sites moeten patchen met de nieuw uitgebrachte beveiligingspatch. Bij de meeste sites ging dit perfect zoals je mag verwachten. De patch heeft alleen enkele kernbestanden bewerkt die je toch niet had moeten bewerken. Soms kregen we echter het foutbericht Hunk Failed, zelfs op kernbestanden die niet waren bewerkt. De reden voor de fout was dat de regelafstand was gewijzigd vanwege verschillende hosting, editors of besturingssystemen. Toen we exact dezelfde kernbestanden voor die specifieke Magento-versie, vers van de Magento-site, downloadden en deze vervingen door de oude kernbestanden, werkte de patch perfect.