indicación de la versión de la aplicación con git?

En svn, solíamos usar los enganches posteriores a la implementación para escribir el número de logging de la versión implementada como un sufijo de compilation para la versión de la aplicación implementada.

Es decir, si desplegáramos una versión 3.0 de nuestra aplicación, la window sobre la aplicación mostraría 3.0.1234 donde 1234 era la revisión de compilation desde svn.

Esto permite que QA vea un número de revisión y observe errores resueltos, comparando el número de compilation en los errores resueltos, y si la revisión de la aplicación implementada fue más alta que la del informe de fallos, se aseguraría que la corrección se implementó (o no) .

Con git y mercurial, los hash de revisión no proporcionan características similares. ¿Cómo trabajan ustedes alnetworkingedor de esto usando git?

Usa git describe . El resultado es el siguiente: v5.19.5-55-ga854082 , un committish con tres partes: v5.19.5 es la label más reciente en la twig actual, 55 es el número de confirmaciones desde esta label, y ga854082 es una abreviatura SHA1 con un g anterior. El número de commits se puede usar para verificar si algo es más nuevo.

(El resultado de la git describe anterior es en realidad un ejemplo del mundo real del código fuente de Perl)

Puedes usar un gancho en las tags en Git. Las tags están hechas para versionar, entre los otros propósitos.

Incluso puede usar el hash para el control de versiones, vea Debian por ejemplo: algunos packages tienen cadenas de versión como 4.8.5+git121-g2a9ea11 . ¿Por qué no está bien?

Uso un enlace post-checkout, post-commit, post-merge y post-rewrite con:

 M=2228.1 rev=`git rev-parse --verify --short HEAD` b=$(git branch --no-color 2> /dev/null | \ sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/') case $b in (_tmp*) cnt=`git rev-list "$M"..$rev -- | wc -l` printf '#define AUTO_REVISION TEST%u+%s\n' "$cnt" "$rev" > auto-version.h ... ;; (*) cnt=`git rev-list $rev -- | wc -l` printf '#define AUTO_REVISION g%05u+%s\n' "$cnt" "$rev" > auto-version.h ... ;; esac cat << EOF >> auto-version.mk AUTO_REVISION_CNT = $cnt AUTO_REVISION_REV = $rev EOF 

La variable 'cnt' contiene el número de confirmaciones desde el comienzo o una determinada bifurcación / label (2228.1 en este caso) y dependiendo de la twig real (lanzamiento / testing) se aplican diferentes esquemas.