SVN: отделение и реинтеграция не работает с обновленным сервером

Я работаю с сервером Subversion, который был недавно обновлен до версии 1.7. Я использую клиент Linux командной строки 1.7.10.

Я создал ветку, как это:

%: svn copy svn+ssh://acme.com/a/b/c/trunk svn+ssh://acme.com/a/b/c/branches/ovm_sequencer -m "Feature branch for ovm_sequencer"

После нескольких правок я попытался реинтегрировать в багажник и столкнулся только с проблемами:

%: svn merge --reintegrate '^/c/branches/ovm_sequencer'
svn: E160013: File not found: revision 1677, path '/c/branches/ovm_sequencer'

%: svn merge --reintegrate svn+ssh://acme.com/a/b/c/branches/ovm_sequencer
svn: E200007: Retrieval of mergeinfo unsupported by 'svn+ssh://acme.com/a/b/c/branches/ovm_sequencer'

Что пошло не так и как это можно исправить?

3 ответа

Решение

Две заметки:

  • ^ в SVN-path означает всегда repository-root, таким образом ^/c/branches/ovm_sequencer подразумевает "/c/branch /ovm_sequencer" внутри репозитория, в то время как у вас есть (наиболее вероятно) репозиторий в acme.com/a/b/c путь и URL должны быть ^/branches/ovm_sequencer

  • "Получение неподдерживаемой информации mergeinfo" означает один плохой факт о вашей сети | Администратор SVN - он не читает Примечания к выпуску для обновленного программного обеспечения: для поддержки mergeinfo на стороне сервера, за исключением обновления программного обеспечения для Pre-1.5 Subversion до версии 1.5 или более поздней, репозиторий также должен быть обновлен, чтобы иметь новый формат. Тема (очень старая - с 2008 года) на Collabnet "mergeinfo не поддерживается"

Если вы используете IntelliJ 13.1 (сборка № IU-135.475) и у вас возникла эта проблема, а ваш сервер не является 1.7x, просто перейдите на вкладку "Настройки" Subversion, откройте вкладку и снимите флажок "Показывать источник слияния в истории и аннотациях".

Обновите удаленный репозиторий, а не персональную проверку (займет несколько секунд):

$ svnadmin upgrade REPOS_PATH

Если вы беспокоитесь или у вас нет удаленного доступа для конвертации - создайте дамп или синхронизируйте копию репозитория:

$ svnsync initialize --username=XXX --password=YYY $MIRROR $MASTER
$ svnsync synchronize $MASTER

или же:

 $ svnadmin dump $MASTER  > svn.dump
Другие вопросы по тегам