Pregunta

Tengo un repositorio de subversión con el diseño estándar, es decir, tronco / y ramas / (y etiquetas /). Cuando se trabaja en un cambio mayor, se usa una rama de la función, se sincroniza regularmente con el tronco y luego se reintegra nuevamente en el tronco (usando 1.5 ahora). Cosas bastante estándar.

Lo que me pregunto es si esta rama de función, una vez finalizada y combinada, debe mantenerse o eliminarse. El libro de Subversion a veces parece sugerir que es común eliminarlos, pero también he visto un montón de proyectos de código abierto que mantienen las sucursales.

También me preocupa un poco cómo la eliminación de una rama hará que sea más difícil hacer un seguimiento de las ramas que existen, especialmente cuando los nombres potencialmente duplicados entran en el escenario (digamos que buscamos refactorizar dos veces), sus historias de confirmación desaparecen en algún lugar de la profundidad del repositorio etc.

Por otro lado, las ramas se usan bastante, especialmente con 1.5 ahora, y me gusta la idea de no tener que buscar en una gran lista de ramas inactivas para encontrar las que estoy trabajando actualmente.

¿Cuáles son los pros y los contras que me estoy perdiendo? ¿Qué están haciendo las personas?

¿Fue útil?

Solución

Si está realmente preocupado por eliminarlos, para que no sean olvidados, simplemente cree una carpeta debajo de las sucursales llamada 'inactivo' y svn move sus sucursales inactivas más antiguas en esa carpeta. Esto podría ser lo mejor de ambos mundos para ti.

Otros consejos

Puedes eliminarlos de forma segura. Eliminarlos no los elimina del repositorio, el espacio asignado nunca se reclama, pero seguro que hace que todo el árbol del proyecto se vea más limpio.

He estado eliminando ramas de funciones mientras terminamos, ya que me gusta la falta de desorden. Ha habido una pequeña confusión por parte de otros desarrolladores, pero desde que registramos los números de revisión de las confirmaciones en nuestro sistema de seguimiento de errores, ha sido bastante sencillo. Si alguien dice que no puede encontrar una sucursal, le recomendamos que use la marca -rrevision en su registro / diff / checkout / lo que sea, en general, todo lo que se necesita.

Mi equipo los elimina para evitar el desorden. No es como la desaparición después de todo; se pueden recuperar si se desea. Tiene razón en que puede ser difícil encontrarlos nuevamente: necesita saber un número de revisión donde existía la sucursal, por lo que le dice a su cliente que revise esa revisión para ver sus archivos.

Usamos FogBugz para nuestra gestión de proyectos, que realiza un seguimiento de cuándo las cosas se confirmaron en nuestro repositorio SVN por número de revisión. Podemos usar esto para determinar a qué revisión debemos volver para poder ver nuestros archivos: encontramos el historial de características en FogBugz, buscamos para determinar en qué revisiones existió la rama y usamos esa información para saltar hacia atrás.

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