Объединенные ответы от @adam-wright и pix0r будут работать лучшее, по моему скромному мнению:
using System.IO;
string path = Path.GetTempPath() + Path.GetRandomFileName();
while (Directory.Exists(path))
path = Path.GetTempPath() + Path.GetRandomFileName();
File.Delete(path);
Directory.CreateDirectory(path);
Похоже, у вас есть разреженная рабочая копия. Попробуйте svn update --set-depth infinity
и посмотрите, помогает ли это.
Эквивалент в Tortoise - это установка параметра Update Depth на «Полностью рекурсивный» при открытии диалогового окна Update.
Может быть этот может помочь?
Когда я обновляю рабочую копию, новые файлы не добавляются!
Между TortoiseSVN 1.6.0 и 1.6.1, добавленные папки были добавлены с глубиной из "Только этот товар". Это привело к такому называется "разреженная проверка" этой части вашей рабочей копии.
Пожалуйста, обновите до последней версии TortoiseSVN, чтобы избежать таких проблем в будущее.
Чтобы исправить вашу разреженную рабочую копию, вместо «Обновить» используйте «Обновить to revision ... "команда из Подменю TortoiseSVN (щелкните правой кнопкой мыши в explorer), измените "Глубину обновления" combobox на «Полностью рекурсивный».
Мы наблюдаем ситуацию, когда предыдущее слияние вызывает конфликт дерева, а затем определенные каталоги вообще не обновляются, но не выдают сообщение об ошибке при обновлении. Фактически, как только это происходит, мы не можем найти какой-либо программный способ обнаружения ситуации. Конфликт дерева не проявляется при проверке модификации, и единственный способ узнать, что у нас возникла проблема, - это вручную сравнить файлы с репо-браузером и журналами. Только с помощью дедукции мы выяснили, что это имеет какое-то отношение к конфликту деревьев.
Нам пришлось удалить исходный каталог и повторно выполнить проверку. И мы не нашли никакого программного способа определить, когда это происходит. Это нечасто, но воспроизводилось несколько раз.
Ужасно скудная информация, я знаю.
SVN в прошлом всегда была обратно совместима в отношении репозиториев, так что вам не нужно об этом беспокоиться. Тем более, что последняя версия - только 1.6.6, так что вы не сильно отстаете.
Можете ли вы подтвердить, что каталоги, которые вы ожидаете, действительно находятся в репозитории?
svn ls <repository-url>
В родительском каталоге каталогов вы ожидаете добавления или используйте браузер репозитория Tortoise, чтобы проверить их наличие.
Я получаю подобные проблемы примерно раз в месяц. В моем случае в репозитории был файл, который отсутствовал локально (я мог просмотреть репозиторий и увидеть его), но svn решил, что моя версия каталога актуальна. Внутренний номер версии каталога, хранящегося в локальных файлах, был правильным, но нужного мне файла там не было. Я только что проверил свежую локальную копию всей энчилады, чтобы исправить это.