Я не могу зафиксировать изменения после слияния в SVN

У меня была проблема с фиксацией изменений после слияния двух веток моего проекта с использованием TortoiseSVN.

Вот подробности:

Я сделал ветку слияния с стволом проекта, над которым я работаю.

Проект включает в себя основной репозиторий и библиотеки, объединенные с основным репозиторием как svn external (библиотеки также разветвлены) в качестве подкаталога проекта.

Когда я пытался зафиксировать изменения, TortoiseSVN сказал:

Commit A
re all the targets part of the same working copy? 
Unable to lock 'D:\websites\project\lib' 
Please execute the "Cleanup" command.

Конечно, уборка не помогла.

svn: внешнее ключевое слово для каталога проекта было хорошо определено, также папка lib все еще содержала правильную версию библиотек (транковая версия).

Сервер и клиент SVN имеют версию 1.5.x (TortoiseSVN - 1.5.3.x).

С технической точки зрения и проект, и библиотеки являются проектами в одном и том же хранилище SVN.

Есть идеи, что пошло не так?

Я немного погуглил для решения, но не нашел ничего полезного, поэтому я попытался зафиксировать свои изменения в два этапа:

  1. зафиксировать изменения из папки проекта
  2. зафиксировать изменения из папки библиотеки

Который прошел без проблем.

Но я все еще удивляюсь, почему я не смог сделать все за один коммит.

редактирует:

  • (После ответа Кена Г.) Исправлена ​​версия TortoiseSVN 1.3.x -> 1.5.3.x.

3 ответа

Решение

svn:external приведет к тому, что Subversion будет объединять различные пути к хранилищу при извлечении, но в конечном итоге эти пути все еще не пересекаются, поэтому вам нужно сделать два коммита, чтобы применить изменения.

Вот соответствующая цитата из контроля версий с Subversion

И Subversion по-прежнему действительно работает только с непересекающимися рабочими копиями. Так, например, если вы хотите зафиксировать изменения, сделанные вами в одной или нескольких из этих внешних рабочих копий, вы должны явно запустить svn commit для этих рабочих копий - фиксация в основной рабочей копии не будет повторяться в каких-либо внешних.,

1.3 TortoiseSVN очень старый, последняя версия 1.5.x. Начиная с версии 1.3 произошли многочисленные изменения в Subversion и TortoiseSVN, поэтому, вероятно, лучшим вариантом будет обновление вашего клиента.

Сказав это, 1.5 TortoiseSVN собирается создать / обновить рабочие копии до версии версии 1.5. БУДЬТЕ ОЧЕНЬ ОСТОРОЖНЫ при использовании TortoiseSVN (или любого клиента SVN) в отношении рабочей копии предыдущей Subversion.

Я думаю, что я помню, как читал об ошибке, связанной с этим в TortoiseSVN, которая была исправлена ​​в последней версии. Проверьте последние заметки о выпуске.

Другие вопросы по тегам