¿Es seguro usar svnant para actualizar el directory en el que se encuentra el file build.xml?

Estoy manteniendo un sistema de compilation que usa svnant desde un directory para actualizar una gran cantidad de proyectos en otro directory. A continuación, se traslada a uno de esos proyectos que se ha actualizado y realiza la construcción real.

¿Es seguro hacer todo desde ese proyecto principal? ¿Puede el proyecto principal usar svnant para actualizarse, o podría haber un problema si svn necesita actualizar el file build.xml que está usando actualmente la ant?

Para el proyecto principal self-updated build.xml, es posible que tenga un problema al ejecutar la actualización de subversión y comstackrlo de una vez. La naturaleza del problema depende de qué cambio se realiza exactamente en build.xml. Simplemente volver a ejecutar la compilation probablemente lo arreglaría, ya que el build.xml Ant que se carga al inicio estaría actualizado.

Si realmente tiene que actualizar de manera confiable build.xml y llevar a cabo una compilation de una sola vez, puede considerar envolver la parte post-svnant de la compilation en una tarea antcall . Cuando Ant ejecuta el objective anticaída, vuelve a leer el file build.xml, por lo que cualquier cambio en ese file desde que se invocó Ant se toma en count. Antcall comienza a procesar desde cero, por lo que si tienes inicializaciones (posiblemente costosas) tendrían que volver a ejecutarse.

Si eso no requiere demasiado espacio en disco (o si el espacio en el disco no es un problema), podría tener dos directorys en funcionamiento:

  • uno donde ' svnant ' cualquier cosa que quieras
  • uno donde se inician las comstackciones, excepto que cualquier inicio iría precedido de un rsynch para importar cualquier modificación desde el primer directory de trabajo hasta el segundo.

En otras palabras, deberías hacer las modificaciones antes de lanzar cualquier compilation.