Escenario:¿Qué sucede para confirmar los registros en una sucursal después de la fusión?
- programador crea una rama de 'foo' llamada 'my_foo' proyecto en la revisión 5
- programador hace varios cambios en varios archivos mientras trabaja en la función 'my_foo'.
- Al final de cada paso importante, dicen añadiendo varias funciones nuevas a una clase, el programador hace un
svn commit
en los archivos necesarios para ello, ellos cometen a la rama - Después de varias semanas y muchos se compromete más adelante (cada confirmación tener una registro de confirmación que describe lo que hizo), el programador se funde la rama en el tronco:
#Assume the following is being done from inside a working copy of the trunk:
svn merge -r 5:15 file:///path/to/repo/branches/my_foo
Hazzah! ¡ha fusionado todos sus cambios de nuevo en el maletero! Hay mucho regocijo y consumo de Mountain Dew.
Ahora, digamos que otro programador llega una semana después y actualiza su copia de trabajo de la revisión 5 a la revisión 15. "Guau", dicen. "Me pregunto qué ha cambiado desde la revisión 5". El programador entonces hace un svn status
en su copia de trabajo y se ponen algo como esto:
------------------------------------------------------------------------ r15 | programmer1 | 2010-03-20 21:27:04 -0400 (Sat, 20 Mar 2010) | 1 line Merging Version 2.0 Changes into trunk ------------------------------------------------------------------------ r5 | programmer2 | 2010-02-15 10:59:55 -0500 (Mon, 15 Feb 2010) | 1 line Added assets/images/tumblr_icon.png to trunk
¿Qué diablos pasó con todas las notas que otro programador puso en con todos sus comete en su rama? ¿Aquellos que no son detenidos durante una fusión? ¿Estoy loco o simplemente olvidándome de algo?
Excelente información, gracias. Pregunta de seguimiento: Una vez que una rama se ha fusionado al tronco, ¿no debería eliminarse ya que ya no es necesaria? ¿O debería mantenerse para siempre? Si elimino una rama, ¿todos los datos de compromiso/revisión van con ella? –
Diría que elimine la rama lo antes posible (es decir, cuando todo se haya fusionado o se haya vuelto obsoleto) para evitar confusiones/confusión. Puede recuperar la rama más tarde, si es necesario (creando una nueva rama como copia de una revisión anterior). Nada en Subversion se borra. – Thilo
Entonces, si alguien quisiera ver las confirmaciones de una sucursal eliminada, tendría que verificar la marca y luego hacer un registro de svn. ¿O pueden hacer algo con svn log directamente? –