detectar conflictos después de git-svn rebase

Estoy usando tantos repositorys de git-svn (al mismo time) que se está convirtiendo en una tarea rutinaria actualizarlos a todos. Me gustaría escribir un guión que lo automatice, así que puedo ejecutarlo todas las mañanas mientras tomo un café.

Básicamente, mi flujo de trabajo es así

cd ~/module1 git svn fetch git checkout master git svn rebase git checkout topicbranch git svn rebase cd ~/module2 git svn fetch git checkout master git svn rebase 

Ya he automatizado la parte de git svn fetch , que se puede realizar de forma segura en cualquier momento. Pero no es tan seguro hacer git svn rebase automáticamente ya que puede haber conflictos.

¿Cómo puede un script averiguar si hubo un conflicto después de una rebase? Entonces podría ejecutar git rebase –abort, y escribir una línea en un file de logging para poder revisar los errores cuando regrese con mi café 🙂

Después de hacer "git svn fetch", puede usar una combinación en lugar de una rebase para get las últimas novedades de svn en su sucursal local. Si la fusión es exitosa, lo sabrá porque no hay conflictos (que puede encontrar con herramientas como git ls-files). Si la fusión no funciona, no has destruido nada y puedes ignorar los cambios a nivel superior en tu tree de trabajo.

A continuación, realice una rebase como último paso antes de confirmar (si lo desea, no es estrictamente necesario) y puede manejar el cambio de tendencia propenso a errores interactivamente solo una vez.

Por lo que puedo deducir de git-svn , git-rebase y git-sh-setup git saldrá con un código de salida de 1 si la rebase no se puede realizar debido a conflictos.