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

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

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

4b9b3361

svn revert deletedDirectory

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


ИЗМЕНИТЬ

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

svn update deletedDirectory

вместо.

130
ответ дан 24 нояб. '09 в 17: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 в 15:43
источник

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

5
ответ дан 24 нояб. '09 в 2:08
источник

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

svn status | cut -d ' ' -f 8 | xargs svn revert
4
ответ дан 25 июля '13 в 18:56
источник

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

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

1
ответ дан 24 нояб. '09 в 2:08
источник

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

rm -r some_dir

svn update some_dir_parent

0
ответ дан 12 июля '17 в 16:33
источник