Я создал такую ветку
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-сервера, которая не поддерживает отслеживание слияний.