Encuentra todos los commit de git que coincidan con un cierto 'conteo de commits'

Utilizo el siguiente command para generar un ID (conteo de commits) similar al svn (Subversion) 'Número de revisión'.

git rev-list HEAD | wc -l # With newer git versions you can also use: git rev-list HEAD --count 

Soy consciente de que esto no es exactamente lo mismo que en svn y particularmente que mis ID de Git no son necesariamente únicos. Aún así es lo suficientemente bueno para mis propósitos (distinguiendo a primera vista cuál de las dos comstackciones es más reciente).

Ahora mi pregunta:

Supongamos que tengo la ID 2340, ¿cómo puedo encontrar todas las revisiones de Git (hashes) que coinciden con esta ID (recuento de confirmaciones)?

EDITAR (ejemplo)

 * 9c4365c count: 5 |\ | | | | | * b1a9954 count: 2 | | | | | | * | 7e8831a count: 3 | | | | | | * | e8cabc4 count: 2 |/ | | * 9ae0137 count: 1 

Para ID (conteo) 2 me gustaría get e8cabc4 y b1a9954.

Una solución muy ineficiente sería iterar sobre todas las confirmaciones y verificar el 'conteo' para esa confirmación. Si coincide, agréguelo a la solución.

Lo que vale la pena es la solución ineficiente que mencioné en la pregunta.

 #!/bin/bash MY_COUNT=2340 for COMMIT in `git rev-list HEAD` do CCOUNT=`git rev-list ${COMMIT} --count` if [ "${CCOUNT}" == "${MY_COUNT}" ] then echo $COMMIT fi done 

Para un repository con 3000 commits, toma alnetworkingedor de 30 segundos.