Subversion пропускает новые каталоги во время обновления - PullRequest
15 голосов
/ 30 ноября 2009

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

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

спасибо ...

Ответы [ 5 ]

18 голосов
/ 30 ноября 2009

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

Эквивалентом в «Черепахе» является установка «Глубина обновления» на «Полностью рекурсивный» при открытии диалогового окна «Обновление».

5 голосов
/ 01 декабря 2009

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

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

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

5 голосов
/ 01 декабря 2009

Может быть это может помочь?

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

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

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

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

2 голосов
/ 30 ноября 2009

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

1 голос
/ 30 ноября 2009

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

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

svn ls <repository-url>

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

...