Probar un patch del Trac de WordPress

Última actualización: 26 de abril de 2020

Tabla de contenidos

Puede que no seas desarrollador, pero que sepas programar y te guste probar si algunos parches del código de WordPress pueden funcionar, por lo que es más que razonable que colabores en la Comunidad revisando si los patch que se han creado funcionan y cumplen con su cometido.

Para hacer estas pruebas necesitarás una instalación de WordPress con Varying Vagrant Vagrants o puedes crear una máquina virtual con Subversion. En cualquier caso tendrás a tu disposición el sistema preparado para poder aplicarlos y revertirlos.

NOTA: este ejemplo está basado en el manual de VPS con SVN de este sitio.

Encontrar tickets para probar

Lo primero será encontrar tickets que tengan un patch pendiente de ser probado. Para ello podemos hacer una búsqueda en el Trac de tickets con [has-patch].

Descargar el parche

Lo primero que haremos es ir a la carpeta donde tenemos la instalación de nuestro WordPress.

cd /webs/wordpress-svn/

Para no liar las configuraciones, la primera vez crearemos la carpeta para los cambios.

mkdir /webs/wordpress-svn/patch/

Cuando la tengamos, entraremos en ella y descargaremos el patch que queramos probar.

cd /webs/wordpress-svn/patch/
wget https://core.trac.wordpress.org/raw-attachment/ticket/47912/47912.diff

Para saber la dirección URL que hemos de descargar, visitaremos un ticket del Trac y en la zona de ficheros adjuntos miraremos la URL que tiene el fichero. Se pueden descargar tanto ficheros .diff como ficheros .patch.

Probar un patch del Trac de WordPress

Aplicar el parche

Ahora que ya tenemos descargado el fichero, lo hemos de aplicar a la configuración actual del WordPress de desarrollo. Para ello volveremos a la carpeta raíz de la configuración y allí ejecutaremos el parche.

cd /webs/wordpress-svn/
patch -p 0 < patch/47912.diff

Esto nos devolverá un mensaje que nos dirá qué ficheros o cambios se han producido. Debería ser algo similar a lo siguiente:

user@wordpress-svn:/webs/wordpress-svn# patch -p 0 < patch/47912.diff
patching file src/wp-includes/formatting.php
Hunk #1 succeeded at 2273 (offset 3 lines).
patching file tests/phpunit/tests/formatting/SanitizeTitleWithDashes.php

Lo normal sería probar el error previamente a aplicar el parche, aplicarlo, y después volver a ejecutar lo mismo para verificar que el sistema funciona.

Si pruebas el cambio, tanto si funciona como si no lo hace, es muy recomendable comentarlo en los comentarios del ticket del Trac.

IMPORTANTE: Si el parche no funciona, es necesario volver al ticket del Trac y añadir una keyword que diga [needs-refresh] para que la persona o personas responsables apliquen una actualización en base al último código disponible. En ocasiones hay código muy antiguo pensado vara versiones ya obsoletas y hay que actualizarlo a las versiones más actuales.

Retirar todos los cambios aplicados

Si hemos hecho cambios y aplicado varios parches, quizá pensemos que es buena idea revertir los cambios para futuras pruebas. Para ello ejecutaremos el comando que nos lo hará.

cd /webs/wordpress-svn/
svn revert . -R && svn update