Если у меня есть рабочая копия хранилища Subversion, есть ли способ удалить все неверсионные или проигнорированные файлы в этой рабочей копии с помощью одной команды или инструмента? По сути, я ищу SVN аналог git clean
.
Либо командная строка, либо решение с графическим интерфейсом (для TortoiseSVN) будет приемлемым.
Используя TortoiseSVN:
Вы не можете удалить их только с помощью командной строки SVN (не уверен насчет GUI инструментов), если вы работаете в системе linux, это может помочь:
http://www.guyrutenberg.com/2008/01/18/delete-unversioned-files-under-svn/
Другой (жестокий) метод - зафиксировать изменения, удалить все из папки и проверить снова.
Использование TortoiseSVN:
Не совсем красивое и чистое решение, но это самый быстрый способ, который я знаю (в Windows).
Спасибо pkh за подсказку с проигнорированными файлами.
Этот вкладыш может помочь вам:
$ svn status | grep '^?' | awk '{print $2}' | xargs rm -rf
Используйте с осторожностью!
Это похоже на другие ответы, но фактически получает игнорируемые файлы (обратите внимание на «I» в RE):
rm -rf `svn status --no-ignore | grep '^[\?I]' | sed 's/^[\?I]//'`