Если вы удалили каталог из рабочей копии SVN, но еще не зафиксировали, неясно, как его вернуть. Google даже предлагает "svn undo delete before commit" в качестве распространенного запроса при вводе "svn undo d", но результаты поиска бесполезны.
редактировать: я хотел бы решение, которое работает в Subversion 1.4.4
Ответы:
svn revert deletedDirectory
Вот документация для
svn revert
команды.РЕДАКТИРОВАТЬ
Если
deletedDirectory
был удален с помощьюrmdir
и нетsvn rm
, вам нужно сделатьsvn update deletedDirectory
вместо.
источник
svn delete
для удаления каталога, а вместо этого удалили его с помощьюrmdir
, вам нужно будетsvn update deletedDirectory
вместо этого.1) сделать
2) разбирать вывод на наличие ошибок типа
3) вызовите svn up для каждого из каталогов ошибок:
источник
svn up
заставить это проверить, понял конфликт, сделалsvn resolved foo
иsvn status
сказал мне, что у меня было приблизительно 10k файлов, отмеченных какD
.svn up
иsvn revert
не вернул их, но это решило проблему.--recursive
который помогает восстановить содержимое удаленных каталогов.Что сработало для меня
источник
Выполните (рекурсивную) операцию возврата с уровня выше удаленного каталога.
источник
Чтобы сделать это в один лайнер, вы можете попробовать что-то вроде:
источник
Самое простое решение, которое я смог найти, - это удалить родительский каталог из рабочей копии (с помощью команды rm -rf, а не svn delete), а затем запустить svn update у деда. Например, если вы удалили a / b / c, rm -rf a / b, cd a, svn up. Это возвращает все обратно. Конечно, это только хорошее решение, если у вас нет других незафиксированных изменений в родительском каталоге, которые вы хотите сохранить.
Надеюсь, эта страница будет в верхней части результатов в следующий раз, когда я задам этот вопрос. Конечно, было бы еще лучше, если бы кто-то предложил более чистый метод.
источник
Вы можете удалить папку и обновить родительский каталог перед фиксацией:
rm -r some_dir
svn update some_dir_parent
источник