Menu

CONTRIBUER À WORDPRESS AVEC GIT

juillet 12, 2017 - Tous nos articles
CONTRIBUER À WORDPRESS AVEC GIT

De plus en plus de gens se rendent compte que Git est génial. Bien que le code source officiel de WordPress soit toujours sur SVN, vous pouvez contribuer en faisant des patch (correctifs) sans avoir à toucher SVN.

Sans plus tarder, voici comment vous pouvez générer et gérer les patch pour le core de WordPress (cela supppose que vous êtes à l’aise avec la ligne de commande).

1. TROUVER UN TICKET SUR LEQUEL TRAVAILLER

Les patchs ont besoin d’être attaché à des tickets. Vous pouvez parcourir les tickets existants ou en créer un nouveau. Le manuel du contributeur contient plus de détails sur le processus de correction de bugs.

2. CLONER LE MIROIR OFFICIEL

WordPress dispose d’un miroir Git officiel, nous allons donc l’utiliser.

git clone git://develop.git.wordpress.org/ wordpress
cd wordpress

3. FAIRE UNE BRANCHE POUR NOTRE FONCTIONNALITÉ

Récupérer le numéro du ticket et créer la branche

git checkout master -b some-feature/123

123 est ici le numéro du ticket.
Maintenant faites les modifications de code que vous avez besoin de faire et commitez-les (vous pouvez faire plusieurs commit cela n’a pas d’importance).

... edit some files...

git commit -am "fixed the bug"

... edit some more files

git commit -am "fixed edge case"

4. GÉNÉRER LE PATCH

Voici la partie la plus cérébrale, vous pouvez générer un svn-compatible patch directement depuis Git.

git diff master... --no-prefix > some-feature.123.diff

Si vous voulez sauter l’argument –no-prefix, vous pouvez modifier votre gitconfig

git config --global diff.noprefix true

Tout ce que vous avez maintenant à faire c’est d’uploader le fichier some-feature.123.diff au ticket.

5. OPTION : PUBLIER UNE BRANCHE DE FONCTIONNALITÉ

Si c’est une grosse fonctionnalité et que vous voulez avoir des retours dessus sans avoir à uploader un nouveau patch à chaque changement, vous pouvez publier votre branche sur GithubBitbucket ou votre propre serveur.

Par exemple, si j’avais crée le dépôt scribu/WordPress sur Github, tout ce que j’aurais à faire c’est de le lié à mon clone local

git remote add scribu git@github.com:scribu/WordPress.git

Après cette étape initiale, je peux publier ma branche en faisant

git push -u scribu some-feature/123

6. TESTER LES PATCHS D’AUTRES PERSONNES

Il est fort probable que vous rencontriez un ticket qui a déjà été patché par quelqu’un d’autre.

La première chose à faire est de télécharger le fichier du patch et de l’appliquer. On commence par ajouter un alias bash

# Apply a Trac patch.
function tp() {
	curl "$1?format=raw" | patch -p0
}

On lance source ~/.bash_aliases et maintenant la manière d’utiliser cet alias

git checkout master -b revisions/23497

tp http://core.trac.wordpress.org/attachment/ticket/23497/23497.4.diff

git add -A
git commit -m "apply http://core.trac.wordpress.org/attachment/ticket/23497/23497.4.diff"

Cela devient plus difficile lorsque vous téléchargez une nouvelle version du patch et que vous avez des commits supplémentaires dans votre branche. Je laisse ça comme exercice pour le lecteur. 🙂


Cet article est une traduction de Contributing To WordPress (Using Git) écrit par Scribu.

Les liens suivants vous intéresseront probablement :