it-swarm-es.com

¿La forma más fácil de crear un parche para enviarlo a WordPress Core?

He enviado algunos parches para el núcleo de WordPress on Trac (uno de los cuales se ha usado), pero cada vez que pienso en hacerlo me estremezco porque mi configuración para hacerlo es increíblemente tediosa.

¿Puede alguien, por favor, detallar los pasos necesarios para enviar un parche para el núcleo, y luego la mejor manera de simplificar el proceso para que no sea tan tedioso? ¿Trabajo con Mac OS X y PhpStorm actualmente pero estoy pensando que un script de Shell podría ser más fácil? ¿O quizás un PHP Script que hace todo el trabajo de memoria?

Uno de los problemas es que no entiendo completamente con qué necesito comenzar. ¿Comienzo con el baúl? ¿Tengo que descargar una nueva copia y agregar/editar esa copia con mi código cada vez que quiera crear un parche?

Nuevamente, mientras lo he hecho trabajando con SVN y los parches están realmente fuera de mi conjunto de habilidades actuales y quiero cambiar eso. Espero que los expertos en parches de WordPress puedan venir a mi rescate. Gracias por adelantado.

ACTUALIZAR:

Después de la respuesta de @hakre, creo que debería agregar más a la pregunta:

  • ¿Puedo crear parches de una versión anterior o debo usar un troncal?
  • Si estoy trabajando en un proyecto con la versión de lanzamiento (3.0.1), ¿puedo modificarlo y crear un parche para Core o tengo que descargar y configurar una copia original y nueva del tronco y hacer las modificaciones allí?
  • ¿Puedo hacer con los scripts de Shell para poder codificar el inicio de sesión en el script y simplemente ejecutar el script para recrear todo lo que necesito y/o crear el parche?
  • ¿Y cuáles son las trampas?

Todas estas preguntas parecen ser asumidas por aquellos que saben cómo funciona el SVN de WordPress y, como tales, siempre se pasan por alto en cualquier discusión.

12
MikeSchinkel

La forma más fácil de crear un parche se describe aquí:

http://wordpress.org/download/svn/

¿Puedo crear parches de una versión anterior o debo usar un troncal?

Debes crear el parche contra la misma versión a la que quieres aplicarlo.

En otras palabras, no espere que un parche creado contra WP 3.0.1 se aplique limpiamente en WP 3.1-alpha.

Si estoy trabajando en un proyecto con la versión de lanzamiento (3.0.1), ¿puedo modificarlo y crear un parche para Core o tengo que descargar y configurar una copia original y nueva del tronco y hacer las modificaciones allí?

No es necesario configurar una nueva instalación para cada nuevo parche. Solo puede usarsvn revertpara volver a una copia prístina.

Además, la base de datos no tiene que estar limpia cada vez. En realidad, es mejor si tiene algunas modificaciones, para simular un entorno en vivo.

8
scribu

Eclipse PDT + Subclipse + X

Estoy usando Eclipse que tiene integración SVN . Creo que PHP Strom también lo hace. Entro en uno de mis proyectos de troncales que son básicamente un pago desde el repositorio svn de WordPress.

Luego edito los archivos que necesito editar. Eclipse muestra cuáles están modificados, hago clic con el botón derecho en un directorio, selecciono Team->Create Patch y me ofrecen todos los archivos modificados que puedo seleccionar para la diferencia. Entonces puedo elegir entre copiar al portapapeles o guardar en el disco. Guardo todos los parches que creo con el número del ticket en un directorio que tengo en mi disco duro.

Luego entro en el navegador y subo el parche.

También podría hacer esto con un MyLyn Trac integration, que es aún más cómodo, pero necesita XML-RPC justo en trac, por lo que necesita un administrador de trac para contactar. Funciona bastante bien, pero no lo tengo configurado en todos los proyectos y lo uso principalmente cuando hago recortes de boletos.

Así que realmente, compruebe Eclipse si lo desea. Es enorme y lento, así que necesitas una computadora grande. En los pequeños hice buenas experiencias con Fedora Linux. Eclipse funciona bien en él. Sé que eres un PHP fanático de Storm pero, bueno, realmente me gusta mi Eclipse y viene con muchas extensiones que realmente rockean. Incluso para PHP :). Pero PHP Storm básicamente debería hacer las tareas de checkout/patch también.

WordPress Eclipse 1x1

Ah y tengo una herramienta en mi sistema operativo que guarda todos los directorios que he usado. Así que puedo guardar los parches y subir los archivos rápidamente porque son siempre del mismo directorio que tengo en la lista reciente.

Ejemplo de integración: PHP Code Sniffer, Eclipse and WordPress

5
hakre

Yo uso estos, yo mismo:

https://core.trac.wordpress.org/ticket/9724

Aunque obviamente es más en el departamento de aplicación de parches. ;-)

2
Denis de Bernardy