Есть ли способ отменить извлечение svn репо?

Я случайно проверил огромную кодовую базу в своей папке пользователя, и будет очень трудно удалить все вручную, есть ли способ удалить это?

Я говорю об удалении рабочей копии ...

2 ответа2

2

svn ls покажет вам версионные файлы и папки в текущем рабочем каталоге.

Чтобы автоматизировать удаление версионных файлов, вы можете запустить следующее:

svn update --set-depth empty

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

0

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

Если вы хотите удалить все файлы и папки, созданные менее 24 часов назад:

find . -mtime -1 -delete

Вы также можете использовать -mmin течение нескольких минут. Посмотрите на man find и здесь для получения дополнительной информации.

Если ситуация более сложная и простые временные метки не подойдут, вы можете попробовать извлечь файлы в другой каталог, перечислить созданные файлы и затем удалить файлы с тем же именем из исходного каталога.

mkdir newdir; cd new dir
svn co http://svn.url.com
for n in $(find . ); do rm "/old_dir/$n"; done

Это перечислит все файлы, извлеченные (find .), и удалит их последовательно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .