Я не могу зафиксировать изменения после слияния в 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.
Есть идеи, что пошло не так?
Я немного погуглил для решения, но не нашел ничего полезного, поэтому я попытался зафиксировать свои изменения в два этапа:
- зафиксировать изменения из папки проекта
- зафиксировать изменения из папки библиотеки
Который прошел без проблем.
Но я все еще удивляюсь, почему я не смог сделать все за один коммит.
редактирует:
- (После ответа Кена Г.) Исправлена версия 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, которая была исправлена в последней версии. Проверьте последние заметки о выпуске.