Удаление SVN до завершения фиксации

Если вы удалите каталог из рабочей копии SVN, но еще не зафиксировали его, неясно, как его вернуть. Google даже предлагает "удалить svn undo delete before commit" в качестве общего запроса при вводе "svn undo d", но результаты поиска бесполезны.

edit: Мне нужно решение, которое работает в subversion 1.4.4

+118
23 нояб. '09 в 23:05
источник поделиться
7 ответов

svn revert deletedDirectory

Здесь документация для команды svn revert.


ИЗМЕНИТЬ

Если deletedDirectory был удален с помощью rmdir, а не svn rm, вам нужно будет сделать

svn update deletedDirectory

вместо.

+130
24 нояб. '09 в 14:04
источник

1) do

svn revert . --recursive

2) разобрать вывод для таких ошибок, как

"Failed to revert 'dir1/dir2' -- try updating instead."

3) вызовите svn up для каждого из каталогов ошибок:

svn up dir1/dir2
+141
15 сент. '10 в 12:43
источник

Что для меня работало

svn revert --depth infinity deletedDir
+21
12 мар. '14 в 18:54
источник

Сделайте (рекурсивную) операцию возврата с уровня выше удаленной директории.

+5
23 нояб. '09 в 23:08
источник

Чтобы сделать это в один лайнер, вы можете попробовать что-то вроде:

svn status | cut -d ' ' -f 8 | xargs svn revert
+4
25 июл. '13 в 15:56
источник

Самое простое решение, которое я смог найти, - удалить родительский каталог из рабочей копии (с помощью rm -rf, not svn delete), а затем запустить svn update в grandparent. Например, если вы удалили a/b/c, rm -rf a/b, cd a, svn up. Это возвращает все. Конечно, это только хорошее решение, если у вас нет других незафиксированных изменений в родительском каталоге, который вы хотите сохранить.

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

+1
23 нояб. '09 в 23:08
источник

Вы можете удалить папку и обновить родительский каталог перед фиксацией:

rm -r some_dir

svn update some_dir_parent

0
12 июл. '17 в 13:33
источник

Посмотрите другие вопросы по меткам или Задайте вопрос