Haciendo un parche #

Ha descubierto un error o algo más que desea cambiar en Matplotlib ... ¡excelente!

Has descubierto una manera de solucionarlo, ¡aún mejor!

Quiere contárnoslo, ¡lo mejor de todo!

La forma más fácil es hacer un parche o un conjunto de parches. Aquí te explicamos cómo. Hacer un parche es lo más simple y rápido, pero si va a hacer algo más que cosas simples y rápidas, considere seguir el modelo de desarrollo de Git .

Hacer parches #

Resumen #

# 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

Luego, envíe los archivos de parche generados a la lista de correo de Matplotlib , donde se lo agradeceremos calurosamente.

En detalle #

  1. Dile a git quién eres para que pueda etiquetar las confirmaciones que has hecho:

    git config --global user.email [email protected]
    git config --global user.name "Your Name Comes Here"
    
  2. Si aún no tiene uno, clone una copia del repositorio de Matplotlib :

    git clone https://github.com/matplotlib/matplotlib.git
    cd matplotlib
    
  3. Haz una 'rama característica'. Aquí será donde trabajará en la corrección de errores. Es agradable y seguro y te deja con acceso a una copia del código sin modificar en la rama principal:

    git branch the-fix-im-thinking-of
    git checkout the-fix-im-thinking-of
    
  4. Realice algunas ediciones y confírmelas a medida que avanza:

    # 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'
    

    Tenga en cuenta las -amopciones para commit. La mbandera solo indica que va a escribir un mensaje en la línea de comando. La abandera, puedes confiar en ella, o ¿ves por qué la bandera -a? .

  5. Cuando haya terminado, verifique que haya confirmado todos sus cambios:

    git status
    
  6. Finalmente, convierte tus confirmaciones en parches. Desea todas las confirmaciones desde que se bifurcó desde la mainrama:

    git format-patch -M -C main
    

    Ahora tendrá varios archivos nombrados para las confirmaciones:

    0001-BF-added-tests-for-Funny-bug.patch
    0002-BF-added-fix-for-Funny-bug.patch
    

    Envíe estos archivos a la lista de correo de Matplotlib .

Cuando haya terminado, para volver a la copia principal del código, simplemente regrese a la mainrama:

git checkout main

Pasar de la aplicación de parches al desarrollo #

Si descubre que ha realizado algunos parches y tiene una o más ramas de características, probablemente querrá cambiar al modo de desarrollo. Puedes hacer esto con el repositorio que tienes.

Bifurque el repositorio de Matplotlib en github: haga su propia copia (bifurcación) de Matplotlib . Después:

# 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

Luego puede, si lo desea, seguir el flujo de trabajo de Desarrollo .