безопасно ли использовать svnant для обновления каталога, в котором находится файл build.xml? - PullRequest
4 голосов
/ 26 ноября 2010

Я поддерживаю систему сборки, которая использует svnant из одного каталога для обновления большого количества проектов в другом каталоге.Затем он перемещается в один из тех проектов, который был обновлен, и выполняет фактическую сборку.

Безопасно ли делать все из этого основного проекта?Может ли основной проект использовать svnant для обновления самого себя, или может возникнуть проблема, если svn необходимо обновить файл build.xml, который в данный момент использует ant?

Ответы [ 2 ]

1 голос
/ 29 ноября 2010

Для самообновляющегося основного проекта build.xml - у вас может возникать проблема с запуском обновления Subversion и сборкой за один раз.Характер проблемы зависит от того, какие именно изменения внесены в build.xml.Простой повторный запуск сборки, вероятно, исправит это, так как Ant build.xml, а затем загрузка при запуске будет обновлена.

Если вам действительно нужно надежно обновить build.xml и выполнить сборкуОдин раз, вы можете рассмотреть обёртывание постсвантной части сборки в задачу antcall.Когда Ant запускает цель, вызванную antcall, он перечитывает build.xml, поэтому любое изменение в этом файле с момента его вызова принимается во внимание.Antcall начинает обработку с нуля, поэтому, если у вас есть (возможно, дорогие) инициализации, их нужно будет запустить снова.

0 голосов
/ 26 ноября 2010

Если это не займет слишком много места на диске (или если пространство на диске не является проблемой), у вас может быть два рабочих каталога:

  • тот, где вы 'svnant' все, что вы хотите
  • тому, где вы запускаете сборки, за исключением того, что любому запуску предшествует rsynch для импорта любых изменений из первого рабочего каталога во второй.

Другими словами, вы должны вытянуть изменения до запуска любой сборки.

...