J'ai du mal à appliquer un patch pour un module Drupal. Je pensais que c'était aussi simple que d'utiliser "git apply thepatch.patch", mais quand je le fais dans le répertoire principal qui contient le répertoire .git, j'obtiens le message d'erreur suivant:
Vérification du patch entity_translation.admin.inc…
erreur: entity_translation.admin.inc: aucun fichier ou répertoire de ce type
Lorsque je fais cela dans le répertoire où se trouvent les fichiers, rien ne se passe; aucune erreur ne s'affiche, mais aucun fichier n'est modifié.
Ce n'est pas un problème que j'ai avec ce correctif particulier, mais je ne semble jamais pouvoir appliquer un correctif, et je finis par éditer manuellement les fichiers.
Je voudrais connaître la solution une fois pour toutes.
Il est possible que le patch ait été lancé avant les jours de Git sur drupal.org.
Pour les anciens patchs:
patch -p0 < thepatch.patch
Pour les nouveaux correctifs qui échouent mystérieusement avec git apply
:
patch -p1 < thepatch.patch
Suivez les étapes ci-dessous:
sites/all/modules/varnish
sites/all/modules/varnish
git init
commande pour démarrer git sur ce dépôt, même si vous avez initialisé git à drupal root.git apply -v filename.patch
La commande git apply -v thepatch.patch
Devrait fonctionner.
Vous devrez exécuter dans le répertoire du module que vous corrigez (par exemple. sites/all/modules/module_name/
) Et le fichier .patch
Devrait également se trouver dans ce répertoire. L'option -v
Est pour verbeux et devrait vous dire si l'application du correctif a réussi.
J'ai eu le même problème, dans mon cas, ce qui suit a fonctionné pour moi.
patch -p1 <thepatch.patch
Les instructions données pour chaque projet hébergé sur Drupal.org sont les suivantes (vous pouvez les trouver sur cette page , par exemple):
Application d'un patch
Téléchargez le patch dans votre répertoire de travail. Appliquez le patch avec la commande suivante:
git apply -v [patchname.patch]
Pour éviter d'inclure accidentellement le fichier correctif dans les futures validations, supprimez-le:
rm [patchname.patch]
Le répertoire de travail est le répertoire contenant les fichiers du module; dans le cas du module Views, il s'agit du répertoire contenant les fichiers views.module, views.info et views.install que vous devez corriger.