После перемещения SVN-сервера TortoiseSVN не сохраняет mergeinfo после слияния
Переместив наш SVN-сервер на совершенно другую машину, по другому пути, я только что обнаружил, что вся наша команда разработчиков больше не может корректно сливаться.
В частности, проблема в чем-то похожа на проблему этого вопроса, однако, похоже, это не проблема чувствительности к путям.
Более подробно, вот что мы сейчас используем:
- Subversion: 1.8.16 (32 бит)
- ToitoiseSVN: 1.9.4 (64 бит)
- Сервер: перенесен с Ubuntu 12 (32-разрядная версия) на Windows 10 (64-разрядная версия)
Как я уже сказал, эта проблема похожа на проблему в связанном вопросе, однако в этом случае я проверил путь к хранилищу в локальной рабочей копии и путь, по которому выполняется слияние, и они идентичны.
Я также попытался сделать новую проверку, но все же не повезло: TortoiseSVN говорит, что свойства рабочей копии были обновлены, но на самом деле это не так.
При совершении слияния, по сути, я не вижу обновления свойства.
Если я добавлю их вручную, то все пройдет хорошо.
Что я могу сделать, чтобы решить эту проблему, кроме ручной записи mergeinfo каждый раз?
2 ответа
Я хотел бы поблагодарить @CiroCorvino за его помощь, хотя и в комментариях и в чате, но в конце концов я нашел проблему.
Проблема возникает из-за того, что мы не только перенесли сервер, но и перешли с Subversion 1.6 на 1.8
Выполнение команды svnadmin upgrade /path/to/repository
кажется, решил проблему, и теперь Subversion Mergeinfo сохраняется правильно и автоматически.
На первом изображении видно, что вы объединяетесь с 20.0.1.45 в локальную копию. Я думаю, что вы должны изменить источник и цель вашего объединения
обновить после очистки в комментариях...
Я выполняю все операции ветвления / слияния непосредственно на сервере, а затем работаю с локальной копией разветвленной версии с помощью обычной команды chekout и commit.
Таким образом, если несколько программистов работают над одной веткой, они могут делиться своими изменениями и работать с классическими операциями обновления, извлечения и фиксации.
Итак, в вашем случае, если ваш локальный проект указывает на транк, я просто обновляю / извлекаю из транка в локальный, в противном случае объединяюсь в проекте сервера svn, на который вы указываете, фиксируете слияние, а затем обновляете в вашей локальной копии.