Obtenga la versión de file único de Git

Intento utilizar Doxygen para generar documentation para mi proyecto de Android y quiero usar la label FILE_VERSION_FILTER para search automáticamente la versión numérica de cualquier file.

Sé que Git usa hashes como id para las confirmaciones, pero ¿hay alguna forma de get una versión numérica de un file por separado?

Para get una mejor comprensión de lo que quiero hacer, puede ver este ejemplo de la documentation de Doxygen

Sin embargo, quiero usar git en lugar de CVS o SVN. ¿Es posible con Git?

[Estoy en Ubuntu, y usaré bash como shell]

Git no almacena ninguna versión numérica de los objects del repository. Creo que quiere saber cuántas veces se modificó el object (almacenado en el repository) y esto es fácil de get: use git log , dígale que produzca una sola línea de text para cada confirmación y cuente las líneas de su resultado:

Para contar las versiones del file foo almacenadas en el repository a las que se puede acceder desde la twig actual, ejecute esto:

 git log --oneline HEAD -- foo | wc -l 

Puede replace HEAD con un nombre de sucursal para get el número de confirmaciones accesibles desde esa sucursal que almacena los cambios en el file foo o puede eliminarlo por completo.

Tenga en count que el número que obtiene no es exclusivo para cada versión del file y depende de la ruta que use para get el logging.

Verifique el siguiente fragment del gráfico de revisión:

 * commit #4 (merge test into master) |\ * | commit #3 (on branch master) | * commit #2 (on branch test) |/ * commit #1 (on master) 

Digamos que el file foo se agregó en la confirmación # 1 y se modificó en todas las otras confirmaciones mostradas.

Ejecutar el command de arriba en diferentes confirmaciones producirá los siguientes valores:

 +--------+---------------+ | commit | # of versions | +--------+---------------+ | #1 | 1 | | #2 | 2 | | #3 | 2 | | #4 | 4 | +--------+---------------+