Проблемы с синхронизацией ветки - PullRequest
3 голосов
/ 13 января 2010

Я создал такую ​​ветку

svn copy svn+ssh://foo.bar/svn/myproject/trunk svn+ssh://foo.bar/svn/myproject/branches/feature-x

Затем я приступил к извлечению рабочей копии своей ветки в другом каталоге.

Поскольку это ветвь функций, я бы хотел синхронизировать ее с транком. Согласно Книге SVN, это должно быть так просто, как

svn merge svn+ssh://foo.bar/svn/trunk

из моего каталога рабочей копии.

Однако это не работает. Я не знаю точно, что он пытается сделать, но он пытается объединить все изменения, которые когда-либо были внесены в транк. Вместо этого я ожидал, что он попытается объединить только те изменения, которые произошли с транком после того, как я сделал ветвь.

Если я попытаюсь

svn propget svn:mergeinfo .

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

Я использую SVN v1.6.5

Как обходной путь, сейчас я начинаю с написания

svn info

, чтобы получить последнюю измененную ревизию. А потом

svn merge -r xxxx:HEAD svn+ssh://foo.bar/svn/trunk .

где xxxx - последняя измененная ревизия.

Обновление

Оказывается, у нас в офисе установлена ​​старая версия svn-сервера, которая не поддерживает отслеживание слияний.

1 Ответ

2 голосов
/ 13 января 2010

Согласно Книге SVN, это должно быть так просто, как svn merge svn+ssh://foo.bar/svn/trunk

Это правильно. Однако и локальный клиент SVN, и хранилище должны быть как минимум версии 1.5 для поддержки отслеживания слияний. См. Раздел «Отслеживание слияний и совместимость» в заметках о выпуске .

Если я попытаюсь svn propget svn:mergeinfo . из моей рабочей копии я ничего не получаю. Если я правильно понимаю, я должен увидеть что-то о каких ревизиях доступны для слияния.

Здесь ваши ожидания не верны. Свойство svn:mergeinfo записывает ревизии, которые уже объединены в . В нем не перечислены ревизии, подходящие для слияния. Чтобы получить список ревизий, подходящих для слияния, сделайте следующее:

svn mergeinfo --show-revs eligible svn+ssh://foo.bar/svn/trunk
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...