Subversion пропускает новые каталоги во время обновления

Я использую SVN 1.6.3 и TortoiseSVN 1.6.6. Периодически, когда я делаю обновление из корня моего проекта, SVN не может загрузить новый добавленный каталог (добавленный сотрудником). Я проверил правильный номер ревизии и даже вижу новый каталог (и его файлы) в журнале для этой ревизии. Это, похоже, не влияет на все компьютеры одинаково (отлично работает на другом), и несколько обновлений не будут его исправлять. Но, если я удалю каталог выше, где должен быть этот новый каталог, и сделать еще одно обновление SVN... проблема решена.

Моя первая мысль заключается в том, что это либо проблема, которая была решена с последующим выпуском SVN (1.6.6 и т.д.), либо проблема с моей клиентской версией TortoiseSVN. Может ли кто-нибудь подтвердить или опровергнуть это? Легко ли перейти на новую версию SVN с существующим хранилищем?

спасибо...

Ответ 1

Похоже, у вас есть рабочая копия sparse. Попробуйте svn update --set-depth infinity и посмотрите, делает ли это.

Эквивалент в Tortoise устанавливает для параметра Update Depth значение "Полностью рекурсивный", когда вы поднимаете диалог "Обновить".

Ответ 2

Возможно, это может помочь?

Когда я обновляю рабочую копию, новые файлы не добавляются!

Между TortoiseSVN 1.6.0 и 1.6.1, добавлены папки с глубиной "Только этот элемент". Это приводит к называемой "редкой проверкой" этой части вашей рабочей копии.

Обновите последнюю версию TortoiseSVN, чтобы избежать таких проблем в будущее.

Чтобы исправить вашу редкую рабочую копию, вместо "Обновить" используйте "Обновление" to revision... "из Подменю TortoiseSVN (щелкните правой кнопкой мыши проводник), измените значение" Обновить глубину "combobox для" Полностью рекурсивный".

Ответ 3

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

Нам пришлось удалить исходный каталог и выполнить повторную проверку. И мы не обнаружили программного способа обнаружения, когда это происходит. Это редко, но воспроизводилось несколько раз.

Ужасно редкая информация, я знаю.

Ответ 4

Я получаю такие проблемы примерно раз в месяц. В моем случае в репозитории отсутствовал файл (я мог просматривать репозиторий и видеть его), но svn считал, что моя версия каталога обновлена. Внутренний номер версии каталога, хранящегося в локальных файлах, был прав, но нужного мне файла не было. Я только что проверил свежую локальную копию всей энчилады, чтобы исправить ее.

Ответ 5

SVN в прошлом всегда был обратно совместим с репозиториями, поэтому вам не нужно об этом беспокоиться. Тем более, что последняя версия только 1.6.6, поэтому вы не далеко позади.

Можете ли вы подтвердить, что каталоги, которые вы ожидаете, действительно находятся в репозитории?

svn ls <repository-url>

В родительском каталоге каталогов, которые вы ожидаете добавить, или используйте браузер репозитория Tortoise, чтобы проверить, что они там.