Pregunta

Estoy pensando en mudarme a SVN de Mercurial porque parece más sencillo mantener y más personas tienen un cliente SVN que un cliente mercurial disponible. Sin embargo, tengo una pregunta con respecto a la estructura de archivos -

Entiendo que la estructura de SVN adecuada típica va:

/ tronco de
.... / Versiones actuales AQUÍ

/ rama
.... / BUGFIX
.... / newfeature
.... / rama3
.... / rampa

/ etiqueta
.... / Versión 1.0
.... / versión 2.0
.... / versión n.n

Mi pregunta es ¿cómo funciona este factor en múltiples OSEs? My Software actualmente tiene repositorios mercuriales separados para las versiones GUI / CLI de mi software para cada sistema operativo, ya que no solo puede pagar un directorio en Mercurial. Sin embargo, entiendo que puedes en SVN. ¿Se parecería la estructura:

/ Windows (o Linux, o lo que sea)

/ tronco de
.... / CLI
... / archivos de la versión actual aquí
.... / gui
... / archivos de versión actuales aquí

/ rama
.... / CLI
..... / bugfix
..... / newfeature
..... / rama3
..... / ramificación
.... / gui
..... / bugfix
..... / newfeature
..... / rama3
..... / rampa

/ etiqueta
.... / CLI
..... / versión 1.0
..... / versión 2.0
..... / versión n.n
.... / gui
..... / versión 1.0
..... / versión 2.0
..... / versión n.n

¿O estoy haciendo esto demasiado complicado? ¿Recomendaría almacenar la versión GUI en un repositorio separado? ¿También en cuáles de estos directorios típicos son ejecutables precompilados almacenados?

Entiendo que estas preguntas pueden parecer novatos, pero la verdad es completamente nueva para SVN. ¡Gracias por su ayuda!

¿Fue útil?

Solución

He estado usando SVN por solo unos 3 o 4 años y lo que me parece bastante bien, no almacenaría la versión GUI en un repositorio separado. En mi trabajo, tenemos todos nuestros proyectos bajo un repo, solo diferentes carpetas y esto funciona porque, como lo dijeron, puedes consultar las carpetas que quieras.

También hay algunas personas que argumentan que no debe almacenar datos binarios (como los ejecutables precompilados) en un repo de SVN, simplemente porque se hinchará el repositorio, ya que no se puede diferir con la versión anterior, como la lata de texto. Esto es más o menos la política no escrita en mi trabajo. En casa en mi SVN personal, verificaré exactibles importantes o archivos de biblioteca que conozco, no cambiará regularmente, así que estén allí cuando los necesito. No me preocupa a Bloat, y poder dar un paso atrás a través de la otra versión del EXE es un poco fresco a veces para ver la progresión.

En cuanto a las ramas y las etiquetas, nunca los he usado. Sé que probablemente debería, pero la mayoría de mis proyectos son 'prueba de concepto' de todos modos, por lo que mi tronco principal es realmente todo lo que creo. Básicamente uso SVN como para una herramienta de respaldo y de línea de tiempo muy agradable. Pero yo problema debería comenzar a usar etiquetas y ramas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top