Faire un patch #
Vous avez découvert un bogue ou quelque chose d'autre que vous souhaitez modifier dans Matplotlib .. — excellent !
Vous avez trouvé un moyen de le réparer - encore mieux !
Vous voulez nous en parler - le meilleur de tous!
Le plus simple est de créer un patch ou un ensemble de patchs. Ici, nous expliquons comment. Faire un correctif est le plus simple et le plus rapide, mais si vous allez faire autre chose que de simples choses rapides, veuillez plutôt envisager de suivre le modèle Git pour le développement .
Faire des patchs #
Aperçu #
# tell git who you are
git config --global user.email [email protected]
git config --global user.name "Your Name Comes Here"
# get the repository if you don't have it
git clone https://github.com/matplotlib/matplotlib.git
# make a branch for your patching
cd matplotlib
git branch the-fix-im-thinking-of
git checkout the-fix-im-thinking-of
# hack, hack, hack
# Tell git about any new files you've made
git add somewhere/tests/test_my_bug.py
# commit work in progress as you go
git commit -am 'BF - added tests for Funny bug'
# hack hack, hack
git commit -am 'BF - added fix for Funny bug'
# make the patch files
git format-patch -M -C main
Ensuite, envoyez les fichiers de correctifs générés à la liste de diffusion Matplotlib — où nous vous remercierons chaleureusement.
En détail #
Dites à git qui vous êtes afin qu'il puisse étiqueter les commits que vous avez faits :
git config --global user.email [email protected] git config --global user.name "Your Name Comes Here"
Si vous n'en avez pas déjà un, clonez une copie du dépôt Matplotlib :
git clone https://github.com/matplotlib/matplotlib.git cd matplotlib
Créez une "branche de fonctionnalité". Ce sera là que vous travaillerez sur votre correction de bogue. C'est agréable et sûr et vous laisse accès à une copie non modifiée du code dans la branche principale :
git branch the-fix-im-thinking-of git checkout the-fix-im-thinking-of
Effectuez quelques modifications et validez-les au fur et à mesure :
# hack, hack, hack # Tell git about any new files you've made git add somewhere/tests/test_my_bug.py # commit work in progress as you go git commit -am 'BF - added tests for Funny bug' # hack hack, hack git commit -am 'BF - added fix for Funny bug'
Notez les
-am
options decommit
. Lem
drapeau signale simplement que vous allez taper un message sur la ligne de commande. Lea
drapeau - vous pouvez simplement croire en vous - ou voir pourquoi le drapeau -a ? .Lorsque vous avez terminé, vérifiez que vous avez validé toutes vos modifications :
git status
Enfin, transformez vos commits en patchs. Vous voulez tous les commits depuis que vous avez créé une branche depuis la
main
branche :git format-patch -M -C main
Vous aurez maintenant plusieurs fichiers nommés pour les commits :
0001-BF-added-tests-for-Funny-bug.patch 0002-BF-added-fix-for-Funny-bug.patch
Envoyez ces fichiers à la liste de diffusion Matplotlib .
Lorsque vous avez terminé, pour revenir à la copie principale du code, revenez simplement à la main
branche :
git checkout main
Passer du correctif au développement #
Si vous constatez que vous avez fait quelques correctifs et que vous avez une ou plusieurs branches de fonctionnalités, vous souhaiterez probablement passer en mode développement. Vous pouvez le faire avec le référentiel que vous avez.
Forkez le dépôt Matplotlib sur github — Créez votre propre copie (fork) de Matplotlib . Alors:
# checkout and refresh main branch from main repo
git checkout main
git pull origin main
# rename pointer to main repository to 'upstream'
git remote rename origin upstream
# point your repo to default read / write to your fork on github
git remote add origin [email protected]:your-user-name/matplotlib.git
# push up any branches you've made and want to keep
git push origin the-fix-im-thinking-of
Ensuite, vous pouvez, si vous le souhaitez, suivre le workflow de développement .