miércoles, marzo 26, 2008

Resumen de Cómo Trabajar con Subversion

"Logo Oficial de TortoiseSVN"

Como montar un servidor de Subversion requiere algo de información sobre servidores y requiere tener acceso a uno también, es mejor utilizar un hosting gratuito como Sourceforge o Google Code. Les recomiendo Google Code por su simplicidad y facilidad de uso. Luego de esto, descargan el cliente adecuado para su sistema operativo, cabe mencionar que Subversion ni sus clientes no están sujetos a un lenguaje de programación en específico. Mas aún, además de código fuente, es posible almacenar en el repositorio archivos de cualquier tipo, tomando en cuenta que los que mejor se administran son los archivos derivados del texto plano, como lo son los archivos de código fuente debido a su facilidad y universalidad de edición y manipulación.

  1. Creen un proyecto en algún servidor como los mencionados anteriormente o monten el suyo propio.
  2. Creen una carpeta o seleccionen la carpeta donde se encuentra su proyecto. Desde TortoiseSvn, clic derecho y seleccionar la opción Import. Con esto subirán al repositorio la primera revisión (versión) de su proyecto.
  3. Creen una carpeta aparte donde descargar y almacenar la copia de trabajo. Con Tortoise, Clic derecho a la carpeta y seleccionar Checkout. Aunque esto es exactamente lo que tenían en la carpeta original del proyecto, esta nueva copia denominada copia de trabajo o working copy ya está controlada para poder guardar en el repositorio sus posibles versiones. Cada miembro del grupo realizará este paso para obtener su propia copia de trabajo y modificarla localmente poniéndose de acuerdo sobre qué archivos modificará cada uno.
  4. Cuando cada miembro del grupo haya hecho modificaciones relevantes al proyecto, este puede guardar la nueva revisión dando clic derecho a la carpeta que almacena la copia de trabajo y seleccionando Commit. De esta manera se crea una nueva versión (revisión) del proyecto con los cambios que este realizó y siempre será posible volver a una revisión anterior por si fuera necesario. Es posible también solo hacer commit a un grupo seleccionado de archivos en lugar de todo el proyecto.
  5. Hay que avisar a los demás miembros que se han realizado cambios de manera que ellos se actualicen a la nueva revisión, dando clic derecho sobre la carpeta (o algunos archivos seletos) y seleccionando la opción Update. Esto no significa que perderán los cambios que cada uno haya realizado en su copia local. Si los archivos modificados en la nueva versión no habían sido tocados en la copia local de cada uno, estos permanecerán intactos, de lo contrario se creará un conflicto y el cliente almacenará temporalmente una copia tanto de la versión actual en el repositorio como de su copia local para cada archivo en conflicto para que después se seleccionen los archivos (o parte de estos) que realmente formarán la última versión y de esta forma, resolver el conflicto.
  6. Si se desea volver a una revisión anterior, clic derecho a la carpeta del proyecto y se selecciona Update to Revision donde se especifica a qué revisión se desea regresar. Cabe destacar que por cada revisión, el servidor le asigna un número correlativo y la fecha, además de un comentario o ChangeLog por parte del autor de los cambios, de manera que sea más facil a la hora de decidir a cuál revisión es necesario regresar.
  7. Para volver a iniciar el proyecto desde una revisión anterior, es posible crear una rama partiendo desde una revisión específica, lo cual también ayuda a tener múltiples formas del proyecto sin perder las actualizaciones de las versiones de cada uno. Para ello, hay que hacer un checkout de una revisión en particular y con ella crear la rama dándole clic derecho a la carpeta y seleccionando la opción Branch/Tag.

Por supuesto, los grandes y excelsos usuarios de Linux, acostumbrados a lidiar con la consola y a leer los manuales de los comandos, no necesitan que se les dé una explicación paso a paso de lo que tienen que hacer así que lo único que les adelanto es:
  1. apt-get install subversion subversion-tools
  2. man subversion
  3. man svn
Un usuario Linux sabrá como seguir desde acá.

Sunsetting Sr. Byte.

El Sr. Byte ha estado más de 5 años inactivo. Digamos que estaba en " code freeze ". Pero ahora es el último release. Quizas no...