Estoy usando mercurial para control de fuente. Quiero tener una rama de desarrollo principal, y luego tengo puntos en el tiempo que se alinean con decir "v1.0" "v1.01" y "v2.0", por lo que en cualquier momento puedo desplegar decir "v2.0 "y aplastar algunos errores". He oído que algunas personas dicen que necesito etiquetas, otras dicen que necesito marcadores, otras dicen que necesito sucursales con nombre, y otras dicen que solo necesito mantener varios repositorios clonados.Mercurial Release Management
Desde mi punto de vista, varios repositorios clonados parecen ser una mala elección porque una cosa que me gusta de DVCS es que una vez que clona "el" repositorio, tiene todo el historial y puede restaurar totalmente desde el portátil de alguien si su central el servidor se apaga. Si su repositorio se divide por todas partes, siento que pierde este beneficio, a menos que espere que las personas clonen 5 repositorios y los mantengan localmente en sus computadoras. Esto me preocupa porque la mayoría de la gente dice que esta es una buena manera de hacerlo, pero lógicamente no tiene sentido para mí. (Entiendo que esta no es una forma adecuada de hacer copias de seguridad, pero no tener acceso completo a una parte del repositorio sin volver al servidor me parece extraño)
Para mí, la forma de mantener todo unido sean etiquetas, ramas con nombre o marcadores. Sin embargo, no puedo diferenciarlos. La gente tiende a explicar los marcadores como "etiquetas algo parecidas, con algunas advertencias" y denominadas ramas como una especie de etiqueta móvil que probablemente esté mejor hecha con clones.
Me gusta mucho la bifurcación de estilo git (repo único, ramas múltiples de ella), sin embargo, no quiero recurrir a plugins o hacks extraños para que se vea como git. Quiero entender el camino correcto mercurial.
Bonificación: ¿cómo caben las ramas "a pequeña escala" en la mezcla, es decir, si desea trabajar en una función pequeña en su propia rama?