Aunque llevaba tiempo pensándolo, por fin me he decidido a poner un sistema de control de versiones en casa.
Primero intenté con CVSNT, pero no me funciona el "control panel" sobre Window Vista. Mirando en google, he visto que a más gente le pasa lo mismo y no he visto que lo hayan solucionado. Así que dejo aparte lo de CVS y lo vuelvo a intentar con Subversion.
En la página de Subversión me costó encontrar el instalable para Windows. El sitio al que te lleva el enlace que dice "instalable para windows" te lleva a un sitio raro donde hay cosas de ¿svn con phyton para windows?. Sonaba un poco raro, así que me pongo a jugar con el árbolito que sale a la izquierda y, por fin, encuentro un fichero con un nombre normal que se parece a lo que yo quiero: svn-1.4.5-setup.exe. A descargar e instalar.
Todo estupendo. No me fastidió el Apache. Hace tiempo había instalado ya Subversión y lo primero que hizo fue tocarme el fichero de configuración de Apache y fastidiarlo para que no arrancara nunca más. Parece que ese problema ya está solucionado, no se si porque lo han solucionado o porque yo tengo el Apache más escondido y no ha sido capaz de encontrarlo.
La creación de repositorio y el meter y sacar un proyecto en él fue todo estupendo. No tuve ningún problema. Cuando había hecho pruebas hace tiempo con Subversion, se acabó fastidiando el repositorio el solito.
Y la prueba de fuego. Instalar el plugin para eclipse "subclipse". Increible, también funcionó a la primera. La otra vez se instaló, pero luego me decía que el plugin y el servidor de Subversion eran incompatibles y no funcionaba nada.
Ahora sólo queda usarlo una temporada, para acostumbrarme a él y ver si realmente merece la pena respecto a CVS. Si decido que sí, me llevaré el "experimento" al trabajo. Ya me tienen pánico desde que decidí que hicieramos ramas en CVS, así que esto va a ser ya la releche: cambiarles la herramienta de control de versiones. Por cierto, he visto por ahí que hay un cvs2svn, por lo que si funciona bien, se podrían migrar los repositorios de CVS a Subversion.
Las diferencias entre svn y cvs diría que son mínimas, pero svn tiene ciertas virtudes que decantan la balanza hacia su lado. Como atomicidad de las operaciones en un commit (se hacen todas o ninguna y de forma atómica) o la capacidad de renombrado y copia de archivos y por supuesto la más conocida el tratamiento de los binarios (aunque esto ultimo de cara al programador te da igual).
Respecto a la gestión del repositorio poco puedo decir respecto a cvs puesto que no he montado uno a mano. Svn por otro lado es bastante simple de usar e incluso te puedes aprovechar de un apache con https y tal para mejorar la seguridad, que nunca está de más 🙂
En el curro aunque hagas el cambio, la diferencia entre un proyecto en eclipse con cvs o svn es mínima. (bueno, que los iconos y diálogos son más majos en svn xD)
No se, creo que voy a echar de menos el tema de etiquetas. Siempre es más fácil recordar una etiqueta para obtener una versión previa que un número. Además, las versiones que se etiquetan son pocas y poniendo una etiqueta suficientemente descriptiva, un listado de etiquetas te puede ayudar a recordar el nombre de la versión que quieres. Con números es poco menos que imposible, sobre todo si hay muchos, muchos, muchos.
Se bueno.
ey!, claro que hay tags en subersion! es algo totalmente crucial como bien dices. En svn tango las etiquetes/tags como las ramas/branches se hacen a base de copias
Poner un tag es simplemente poner un nombre a un «snapshot» actual del repositorio.
Si el desarrollo de la rama principal se suele usar /trunk (http://servidor.com/svn/project/trunk) para los tags se suele usar un directorio aparte y en definitiva un tag es copiar /trunk a /tags/[nombre_del_tag], por ejemplo http://servidor.com/svn/project/tags/release_1.0
Para explicación más precisa aquí
No, si me lo imaginaba, y aunque sé que es copia «perezosa» y realmente no hace la copia -hasta que siga desarrollando en la rama principal-, parece un poco matar moscas a cañonazos…. 🙂
Se bueno.