Cómo saber los submodules en una twig sin verificarlo

¿Hay alguna forma programática de averiguar qué submodules hay en una confirmación no retenida? Básicamente, me gustaría poder hacer un git submodule status <commit> (lamentablemente esa opción no existe, al less en 1.9.7.5)

Puedo pensar en dos alternativas; ninguno de ellos parece lo suficientemente elegante:

  1. git submodule summary -n 1 commit ; luego analiza el resultado y deduce las diferencias en los submodules con el git submodule status

  2. Obtenga el contenido del file ".gitmodules" en esa confirmación específica, y luego analícelo

¿Alguna solución más simple?

Algo como esto debería funcionar:

 git ls-tree -r <commit> | awk '$2 == "commit"' 

Aunque eso solo le dice la ruta hacia donde se adjunta el submodule y la confirmación correspondiente que debe verificarse allí. Si desea get la URL u otra información, probablemente deba analizar el file .gitmodules de esa confirmación, como mencionó.

podría usar un segundo índice con GIT_INDEX_FILE y luego ejecutar el git submodule status --cached ?

No uso submodules, así que no estoy 100% seguro de que la syntax funcionará

 git read-tree --index-output=$tmp_index $branch GIT_INDEX_FILE=$tmp_index git submodule status --cached