Abril 29, 2013
enzo
En algunos de nuestros múltiples proyectos nos podemos encontrar con que el sistema de control de versiones es manejado con Subversion, Subversion necesita un servidor central y no permite crear ramas (branches) locales y si a esto le sumas que quizas necesites de una conexión a una VPN para poder enviar cambios para guardar el histórico de nuestro proyecto esto podría frenar el proceso de desarrollo en caso de que la VPN no funcione o no tengamos conexión a Internet.
Una posible solución es versionar el proyecto con Git de forma local siguiendo los siguientes pasos.
- Indicar a Subversion que ignore a Git.
Git por defecto solo crear un folder .git en la raíz del proyecto por tanto le diremos a Subversion con el siguiente comando que ignore este folder
svn propset svn:ignore .git ./
- Indicar a Git que ignore los archivos subversion.
Al contrario que Git Subversion crear un directorio .svn en cada directorio para mantener el control de cambios en los archivos, para que git los ignore agregaremos las siguientes instrucciones en el archivo ~/.gitignore como se aprecia a continuación.
echo .svn >> ~/.gitignore
echo bin >> ~/.gitignore
echo obj >> ~/.gitignore
Luego de los anteriores pasos ya podemos crear ramas de git para las tareas y cuando estén listas hacer merge hacia la rama master y posteriormente hacer un commit al servidor de subversion.
La idea de esto es tener un ambiente de desarrollo local Web y Base de datos en el cual probar nuestros cambios antes de enviarlos al servidor de staging, eliminando la dependencia del servidor central y minimizando los problemas de conexión.
Espero que haya sido de su agrado.