Я не могу зафиксировать изменения после слияния в SVN - PullRequest
5 голосов
/ 22 октября 2008

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

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

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

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

Когда я пытался зафиксировать изменения, 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: external ключевое слово для проекта каталог был хорошо определен, также папка lib все еще содержала правильную версию библиотек (транковая версия).

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

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

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

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

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

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 22 октября 2008

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

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

1 голос
/ 22 октября 2008

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

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

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

1 голос
/ 22 октября 2008

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

...