Creo que el título debería ser lo suficientemente bueno.¿Cuándo deberían preferirse los TAG a los de BRANCHING y viceversa (en CVS)?
Respuesta
Etiquetas
pensar en ella como una instantánea en el tiempo. Quiero poder volver a ese punto exacto. Sin embargo, nunca cambiará. No haces un checkin en un elemento etiquetado.
cosas que pueden quedar marcados:
- de prensa (mayores y menores)
- parches enviados a los clientes
- Corrección de errores
- Hitos (alfa, beta, etc ...)
- Edificación diaria exitosa
B ranchos
La ramificación tendrá un desarrollo realizado en ella (es decir checkins).
Puede crear una rama a partir de una etiqueta (para hacer una corrección de errores, por ejemplo).
Puede crear una rama para desarrollar una característica y luego fusionarla nuevamente al tronco principal.
Puede crear una rama para una publicación (menor o mayor).
El punto clave es que las ramas se pueden modificar, y las etiquetas no deben ser.
Las etiquetas deben usarse cuando desea marcar un hito. El hito podría ser tan pequeño como una construcción diaria.
Las ramas deben usarse cuando desee realizar cambios independientemente de otra bifurcación/troncal.
La ramificación también se debe utilizar para los principales hitos, como las versiones. Esto depende de su branching strategy sin embargo.
Apropos otras respuestas,
Usamos etiquetas para versiones puntuales menores y ramas para las liberaciones. Así, por ejemplo,
v1.0 <-- Branch
v1.0.1 <-- Tag
v1.0.2 <-- Tag
v1.1 <-- Branch
v1.1.1 <-- Tag
v1.1.2 <-- Tag
v1.2 <-- Branch
v1.2.1 <-- Tag
v1.2.2 <-- Tag
v1.3 <-- Branch
v1.3.1 <-- Tag
v1.3.2 <-- Tag
v1.4 <-- Branch
v1.4.1 <-- Tag
v1.4.2 <-- Tag
v1.5 <-- Branch
v1.5.1 <-- Tag
v1.5.2 <-- Tag
Para usar una analogía Microsoft, una rama es un lanzamiento de Windows (95, XP, Vista, etc) y una etiqueta es un paquete de servicios.
- 1. ¿Deberían preferirse los "bucles while" a los "bucles for" para bucles grandes y necesarios en R?
- 2. ¿Cuándo deberían evitarse los métodos de extensión?
- 3. ¿Cuándo deberían usarse los archivos XSD?
- 4. ¿Cuándo deberían reconstruirse los índices de la base de datos?
- 5. ¿Cuándo deberían escribirse los escenarios de prueba de BDD?
- 6. ¿Cuándo deberían utilizarse los sinónimos de la base de datos?
- 7. ¿Cuándo deberían usarse los algoritmos STL en lugar de usar los propios?
- 8. ¿Deberían los objetos eliminarse en C++?
- 9. ¿Cuándo debería usar NSURL en lugar de NSString y viceversa?
- 10. Comprobación de CVS ignora los archivos dañados
- 11. Perforce Dev Branches - Sparse Branching vs. Private Branching
- 12. Powershell pasando los valores del argumento a los parámetros y viceversa
- 13. ¿Anclajes dentro de los encabezados o viceversa?
- 14. ¿NetBeans funciona bien con los proyectos de Eclipse y viceversa?
- 15. En Clojure, ¿cuándo deberían representarse los árboles de tipos de nodo heterogéneos utilizando registros o vectores?
- 16. ¿Los programadores deberían entrenar en los concursos ACM?
- 17. ¿Deberían preferirse las anotaciones en jar305.jar sobre las anotaciones similares en anotación.jar para FindBugs?
- 18. Mercurial Tagging/Branching Strategy
- 19. Deberían globalizarse los mensajes de excepción
- 20. ¿Se deberían agregar los comentarios de Javadoc a la implementación?
- 21. cuándo poner imágenes a la aplicación/conjuntos y cuándo a/público/imágenes en los carriles 3.1?
- 22. Cuándo usar HashMap sobre LinkedList o ArrayList y viceversa
- 23. ¿Cuándo deberían usarse BOOL y bool en C++?
- 24. PHP a C# y viceversa
- 25. ExpandoObject al objeto estático y viceversa. Abarcando los dos dominios
- 26. ¿Deberían los HTTP ETags distinguir entre mayúsculas y minúsculas?
- 27. Cuándo usar los servicios de datos WCF y cuándo no?
- 28. ¿Cómo destaco los cambios de CVS en Emacs?
- 29. ¿Se pueden configurar CVS y Subversion para que ignoren los espacios en blanco en la fusión?
- 30. ¿Los frontend y backend deberían ser manejados por diferentes controladores?