Запустите эти команды в корне рабочей копии пройденных тестов всякий раз, когда вы определите, что новая редакция транка <somerev>
прошла тесты:
svn update
svn merge http://example.com/svn/myproject/trunk -r 0:<somerev>
svn commit -m "merged trunk revisions up to <somerev> into tests-passed"
Каждый раз, когда вы используете команду объединения,SVN запишет слияния в свойстве svn:mergeinfo
.Таким образом, приведенная выше команда должна автоматически определять, какие ревизии в диапазоне 0:<somerev>
имеют право на слияние, исключая любые слияния, которые уже были сделаны.
Как вы сказали в комментарии, конфликты не ожидаются.Но иногда я видел неожиданные конфликты, возникающие в любом случае при объединении ряда версий SVN, содержащих переименования.Чтобы избавиться от этих конфликтов, вы можете использовать опцию --accept theirs-full
с командой слияния, чтобы всегда принимать состояние транка.