¿Trunk o etiquetas? ¿Qué es mejor? (Respuesta: Etiquetas)

tl;dr – Te recomendamos enérgicamente que uses carpetas de etiqueta cuando publiques tus plugins. Tu yo del futuro te lo agradecerá.

Aunque siempre hemos recomendado usar carpetas de etiqueta en vez del «trunk», hay muchos desarrolladores que siguen usando trunk como valor para la etiqueta «Stable Tag». Tiene sentido. Usando trunk como tu etiqueta estable parece que tienes una cosa menos de la que preocuparte cuando publicas una actualización de tu plugin.

El problema de esta configuración es que hace que a todo el mundo le cueste seguir tu plugin, asegurarse de que está descargando la versión correcta y, sobre todo… hace que sea casi imposible volver a una versión anterior. Y desde la llegada de las actualizaciones automáticas a los plugins, esto último va a perjudicarte a largo plazo.

De hecho, estás empeorando todo esto:

  • No hay una forma sencilla de descargar las versiones anteriores para depurar problemas de compatibilidad.
  • Los traductores no pueden adelantarse a la publicación de una versión. Eso quiere decir que en cuanto publiques tu código, la traducción va a estar obsoleta hasta que los voluntarios puedan actualizarla.
  • Aumentas el riesgo de una publicación accidental.
  • No hay forma de permitirle a la gente descargarse la siguiente versión de una fuente oficial de WordPress.org
  • No hay forma de volver a versiones anteriores.

Entonces ¿Cuál es la forma correcta?

  1. Asegúrate de que la etiqueta «stable tag» de tu archivo readme.txt tiene la misma versión que la «stable version» del archivo principal de tu plugin (las dos tienen que coincidir)
  2. Añade todo en la carpeta trunk cuando hagas checkout en local (usa svn add y demás)
  3. Ejecuta svn cp trunk tags/1.2.3 — esto hará una copia de trunk a la carpeta de etiqueta
  4. Ejecuta svn ci -m "Releasing new version" — esto publicará tanto trunk como la etiqueta

Y ya está, has terminado. Ahora puedes editar y actualizar trunk todo lo que necesites, como versión de desarrollo y, mientras que el readme apunte a la etiqueta estable correcta, tus usuarios no recibirán ninguna actualización.

Vale, pero ¿Qué pasa si quieres tener una versión trunk para pruebas? ¡No cambies la etiqueta «stable tag» del readme de trunk! Ese es el valor que le dice a WordPress cuál es la versión «estable». Si estás trabajando en la 1.2.3, mantén la 1.2.2 como la estable en trunk y nadie recibirá el código nuevo hasta que estés listo.


Traducido de Trunk vs Tags? Which is Better? (Answer: Tags) de Mika Epstein