Tengo una configuración de troncales donde va mi código de producción.¿Cuál es la mejor manera de transferir una rama de función de depuración GIT-SVN al tronco?
Luego tengo una rama debug
(principal es trunk
) que agrego código de depuración como el registro, volcados de var, etc ... esto nunca debería estar en producción. Esta rama rara vez cambia.
Por último tengo una rama feature
(principal es debug
) donde hago toda mi codificación con los beneficios de la depuración. Hay compromisos constantes en esta rama.
Solo quiero saber si hay una manera más fácil de mover mi código feature
al trunk
. Esto es lo que actualmente hago:
- confirmar todos los cambios a mi
feature
rama - Cambiar a
master
ygit svn rebase
cambios de otros desarrolladores. rebase
mifeature
rama en la ramamaster
(git rebase --onto master debug feature
)merge
función amaster
git svn dcommit
cambios a otros desarrolladoresrebase
debug
amaster
(git rebase master debug
)- eliminar
feature
rama - crear una nuevo
feature
deldebug
rama.
Tal vez debería hacer una nueva pregunta, pero ¿es realmente una buena práctica poner el código de depuración en su propia rama en lugar de algo que puede activarse/desactivarse en el tiempo de ejecución? – Damien
Personalmente, no quiero correr el riesgo de olvidar agregar sentencias #ifdebug a mi código y terminar enviando material a la producción. También jugué con la noción de parches. Crear un parche de depuración que aplicaría durante el desarrollo y quitarle el parche cuando estaba listo para su lanzamiento, pero que causaría conflictos y trataría de mantener el parche actualizado era un problema. –
@Damien: Personalmente, estoy contigo. Creo que la solución más sensata es permitir/deshabilitar cosas de depuración en tiempo de ejecución (o al * muy * mínimo, en tiempo de compilación). –