Como crear y aplicar un “patch” con svn

Advertencia: Este “post” podría ser algo aburrido o incomprensible para los lectores que no hace desarrollo web y que no usan un sistema de control de versión para sus proyectos. Si usted es un web developer y no está usando un “version control system” pues la debes estar pasando muy mal. Yo uso subversion (svn) pero pero hay mas para escoger. El más popular entre los “cool kids” hoy día es Git gracias a GitHub pero también está Mercurial, CVS y muchos otros. Cada uno tiene sus ventajas y desventajas así que lea bien antes de seleccionar con cual casarse.

¿Porqué tuve que aprender a hacer esta cosa?

Hoy estaba trabajando en un proyecto que llevo completando hace meses en sesiones de una hora. A este paso terminaré en el 2030 pero terminaré. El punto es que necesitaba mostrarle unos cambios que había hecho a un amigo pero no quería hacer un “commit” porque no estaba seguro. Así que creer un “patch” y eso fue lo que le envié.

Un “patch” es básicamente un file de texto que contiene todas las diferencias generadas desde la revisión pasada del repositorio. Este archivo es ideal para enviar por mail, IM o para reportar “bug fixes” a proyectos “open source” donde no se tiene privilegio de “commit”.

Como hacer un patch con svn (usando el terminal):

  1. Navegue hasta el hasta el directorio principal de su proyecto (debe estar funcionando con svn) Ejemplo: cd ~/Proyects/FavoriteCustomer/
  2. Escriba svn diff > [filename] Ejemplo: svn diff > ~/Desktop/bug_fix.patch

Listo ya creó un “patch”. El segundo comando creará un file con todas las diferencias en su proyecto.

Como aplicar un patch con svn (usando el terminal):

  1. Verifique el archivo de “patch” que va a aplicar y asegúrese que no le hará daño a su proyecto.
  2. Navegue hasta el directoria principal de su proyecto y escriba:
    patch -p0 -i [filename] Ejemplo: patch -p0 -i ~/Desktop/bug_fix.patch

Eso es todo.