Haga que `git svn find-rev` busque en todo el repository

Cuando quiero get un hash local de una confirmación basada en la identificación de revisión de SVN, suelo ejecutar git svn find-rev . Sin embargo, el único gran inconveniente es que este command solo searchá la confirmación en la twig actual, o en la twig explícitamente especificada en el command después de la revisión.

Algunas veces, solo conozco el ID de revisión, y quiero encontrar un hash local sin conocer el nombre de la twig. ¿Hay alguna manera de hacerlo con git svn find-rev ? Tendría sentido, sabiendo que las revisiones de SVN son únicas.

git svn find-rev muestra el valor commit sha-1 de la twig actual. Pero puede usar el script de shell para search el compromiso de todo el repository .

Por ejemplo, si desea get la confirmación correspondiente de la revisión r9 , puede especificar el valor de la variable rev como r9 como se muestra a continuación:

 #!/bin/sh rev="r9" for branch in $(git branch -r) do { git checkout $branch sha=$(git svn find-rev $rev) if [ ! -z "$sha" ]; then { echo "The revision $rev has the corresponding commit is $sha. And the commit is on $branch branch." break } fi } done