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