svn - файл в рабочей копии кажется "потерянным" - PullRequest
7 голосов
/ 11 ноября 2009

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

svn сообщает о состоянии без изменений (поэтому даже не пропущенный файл)

svn update ничего не делает

Я даже попытался повторно экспортировать файл в рабочую копию, но безрезультатно.

  • Что здесь происходит?
  • Как я могу исправить рабочую копию?

Я бы не хотел прибегать к новой проверке всей рабочей копии, если это возможно.

Ответы [ 5 ]

11 голосов
/ 11 ноября 2009

Клиенты SVN 1.6.1 (включая TortoiseSVN) имели ошибку , когда для папок иногда ошибочно устанавливалось значение «пусто». Это вызывает симптомы, которые вы описываете. (Обратите внимание, что возможно, что папка была сделана «пустой» в SVN 1.6.1 и осталась такой же, даже если вы уже выполнили обновление до более нового svn-клиента.)

Чтобы исправить это, используйте пункт меню «обновить до ревизии» в TortoiseSVN и выберите глубину «полностью рекурсивная».

3 голосов
/ 11 ноября 2009

Вы должны:

  • Убедитесь, что вы обновляете правильную версию и обновляете текущий элемент и всех его потомков ... что-то вроде svn update --revision HEAD --depth infinity
  • Очистите с помощью svn cleanup и попробуйте снова
2 голосов
/ 11 ноября 2009

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

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

Во-первых, убедитесь, что Subversion имеет то же представление о том, что находится в вашей рабочей копии, с svn info в каталоге, где должен находиться файл. Является ли URL правильным ответвлением?

Далее, проверьте, какие незафиксированные изменения происходят с svn update. Возможно, что-то удалило этот файл? Если это так, просто отмените удаление: svn revert <file>.

Далее (убедившись, что вы сохранили копии всего, что вы изменили в этом каталоге), вы можете просто обнулить весь каталог и перезапустить его cd ..; rm -rf dir; svn update dir Это должно воссоздать каталог с вашим файлом в нем.

0 голосов
/ 11 ноября 2009

Попробуйте удалить этот конкретный файл только из вашей локальной кассы, а затем снова выполните обновление.

...