En este momento, estamos usando Perforce para el control de versiones. Tiene la característica útil de un número de cambio estrictamente creciente que podemos usar para referirnos a construcciones, por ejemplo, "obtendrás la corrección de errores si tu construcción es al menos 44902".Crear secuenciación al usar el control de versión distribuida
Me gustaría cambiar a utilizar un sistema distribuido (probablemente git) para facilitar la bifurcación y el trabajo desde casa. (Ambos son perfectamente posibles con Perforce, pero el flujo de trabajo de git tiene algunas ventajas.) Así que, aunque el "desarrollo tributario" se distribuiría y no se referiría a una secuencia de revisión común, mantendríamos un repo master git que todos los cambios serían Necesito alimentarme antes de que se cree una construcción.
¿Cuál es la mejor manera de preservar el estricto aumento de los ID de construcción? La forma más sencilla en que puedo pensar es tener algún tipo de enlace post-commit que se activa siempre que el repositorio maestro se actualice, y registra (el hash de) el nuevo objeto de árbol (¿o el objeto de confirmación?) Soy nuevo en git) con una base de datos centralizada que entrega identificadores. (Digo "base de datos", pero probablemente lo haría con etiquetas git, y simplemente busco el siguiente número de etiqueta disponible o algo así. Así que la "base de datos" sería realmente .git/refs/tags/build-id /.)
Esto es viable, pero me pregunto si existe una manera más fácil, ya implementada, o estándar/de "mejores prácticas" para lograr esto.
Las etiquetas no manejan las ramas y la fusión. La forma automática correcta de agregar la secuencia adecuada es contando un número de confirmaciones detrás de la confirmación actual. Esto se explica en mi respuesta a continuación. – squadette