Quel est le processus approprié pour apporter des correctifs au noyau Drupal?
Disons que je trouve un bogue dans le noyau Drupal, le corrige et crée un patch . Comment le soumettre?
Si le bogue se trouve dans Drupal 7, dois-je également le corriger dans Drupal 8 et soumettre deux correctifs? Est-ce que cela s'applique également aux bogues / améliorations de la documentation?
Tous les patchs nécessitent-ils également un test unitaire?
community-official-site
version-control
mpdonadio
la source
la source
Réponses:
Si le bogue est présent dans la version en cours de développement (dans ce cas Drupal 8) et la version précédente (Drupal 7), le bogue doit d'abord être corrigé dans la version actuellement développée, puis dans la ou les versions précédentes.
Si le bogue n'est pas présent dans la dernière version développée, par exemple parce qu'il concerne une fonction qui a été supprimée ou qui a déjà été modifiée, le correctif doit être fourni pour la version avant la version actuellement développée.
Le workflow qui est suivi est le suivant:
Vous pouvez créer des correctifs pour deux versions de Drupal en même temps, mais comme le correctif de la dernière version de Drupal peut nécessiter des modifications, il est préférable de travailler sur le correctif pour la version actuellement développée, que de travailler sur deux correctifs différents qui nécessitent tous deux de être changé.
Voir aussi: Politique de rétroportage .
Oui. Dans ce cas également, si la version actuellement développée a supprimé la fonction / méthode à laquelle la documentation se réfère, le correctif doit être fourni pour la version précédente.
Si le patch est destiné à la documentation, il ne nécessite pas de tests. Le bot de test exécuté sur http://qa.drupal.org vérifie le code Drupal après l'application du correctif; si le correctif introduit des erreurs de syntaxe (par exemple parce que le commentaire est fermé avant le besoin), le robot de test signalera une erreur sur le correctif avant l'exécution des tests.
Si le correctif concerne une nouvelle fonctionnalité, les tests sont requis.
Si le correctif doit corriger un bogue, alors les tests pourraient être exigés des responsables, s'il n'y a pas déjà un test vérifiant une fonctionnalité spécifique. Le test est généralement nécessaire pour éviter de réintroduire le même bogue lors de la modification future du même code. Si le bogue est simplement une variable qui est initialisée, mais jamais utilisée à partir d'une fonction / méthode, il est probable que les tests ne sont pas requis.
la source
Chaque page de projet sur drupal.org a un onglet "Contrôle de version" en haut. Il donne non seulement un excellent aperçu de toutes les options du référentiel de code pour le projet spécifique, mais tous les exemples de commandes git sont également adaptés au projet. Vous pouvez également le modifier de manière interactive en une version spécifique.
Pour Drupal core, vous trouverez cette page sur http://drupal.org/project/drupal/git-instructions
Ensuite, lorsque vous avez créé votre patch, il vous suffit de joindre le fichier de patch à un problème qui explique ce que fait votre patch.
Deux choses importantes à souligner sont de s'assurer que le patch se termine par ".patch" et de définir le statut sur "Needs review". Ceci afin que le testbot le remarque et exécute automatiquement son test.
Le nouveau code doit toujours être accompagné de tests .
Notez que cela est possible de désactiver par les projets et certains le font. Pour Drupal core, il est activé, donc tous les correctifs seront testés.
Vous pouvez en trouver plus sur http://drupal.org/contribute/development .
la source