Мое рабочее место использует Hudson для своих ежедневных сборок, когда несколько ведомых сборок (один Linux, один Windows, один Mac) проверяют нашу полную кодовую базу из svn и собирают наше приложение каждый день в полночь.Это все работает довольно хорошо.
Иногда возникает проблема, которая возникает ... хотя иногда разработчик работает поздно и регистрирует изменения в svn сразу после полуночи.Когда это происходит, возможно, что некоторые из ежедневных подчиненных сборок выполнят «проверку svn» до обработки фиксации svn, тогда как другие подчиненные сборки сделают это после обработки фиксации.Когда это происходит, мы получаем разные ревизии, созданные на разных платформах ... например, сборка Mac может быть сборкой SVN ревизии 5555, в то время как сборка Windows заканчивается сборкой SVN ревизии 5556. Это плохо, так как мы хотим, чтобы всеежедневных сборок для данного дня, основанных на той же кодовой базе.
Я полагаю, что один из способов избежать этого - запретить разработчикам совершать svn между 11:30 и 12:30, но я бы хотелпредпочитаю более элегантное решение, которое не зависит от поведения разработчиков.Есть один?В частности, если есть способ заставить Хадсона проверить версию кода, которая была текущей в полночь текущего дня (например, "svn co -r {" the-current-date "}") вместо проверкиГОЛОВА, я думаю, что это может сработать.
Есть ли общий / простой способ решить эту проблему?