miércoles, abril 20, 2011

Subversion. Creando un patch y aplicándolo en otro branch

Cuando manejo dos branches o ramas de un mismo proyecto, me encuentro con bugfixes que deben de quedar en los dos, para ello creo un patch en la versión que arreglé para aplicarlo en la otra versión.
$ svn diff -c 372 > bugfix_patch
372 es la revisión que contiene el bugfix, el archivo creado contiene la información del patch

Index: update_script.py
===================================================================
--- update_script.py (revision 371)
+++ update_script.py (revision 372)
@@ -20,7 +20,7 @@
     ids = model.Product.getAll_filtered()
     
     for i in ids:
-        l.append(i.model)
+        l.append(i.model.strip() if i.model != None else '')
     
     rpc.updateList(l)
 

luego copio el archivo bugfix_patch al working directory de mi otro branch y aplico el patch.
$ patch -p0 < patch2
-p0 hace que los nombres de los archivos contenidos en el patch mantengan completo su path

Mas info en patch manpage

No hay comentarios.: