web-dev-qa-db-fra.com

L'application d'un patch ne fonctionne pas

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.

5
dazz

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
13
tim.plunkett

Suivez les étapes ci-dessous:

  1. Téléchargez le fichier correctif et placez-le dans le dossier du module, c.-à-d. sites/all/modules/varnish
  2. Assurez-vous que vous êtes dans le même répertoire de module, c'est-à-dire. sites/all/modules/varnish
  3. Utilisation git init commande pour démarrer git sur ce dépôt, même si vous avez initialisé git à drupal root.
  4. Exécutez la commande git apply -v filename.patch
3
Himanshu Pathak

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.

2
nmc

J'ai eu le même problème, dans mon cas, ce qui suit a fonctionné pour moi.

patch -p1 <thepatch.patch

2
bsnodgrass

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.

2
kiamlaluno