Подтвердить что ты не робот

Как удалить необработанные файлы в SVN

Как удалить все необработанные файлы из проверки SVN с помощью инструмента командной строки svn? Git и Hg предлагают команды clean и purge для этой цели, но я не могу найти соответствующую команду в SVN.

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

4b9b3361

Ответ 1

Там может быть встроенный способ, но если это так, я не знаю об этом. Однако что-то вроде следующего должно выполнить эту задачу:

svn st | grep '^?' | awk '{print $2}' | xargs rm -rf

(Все неверсированные файлы должны появляться в строке, начинающейся с ? в svn st.)

EDIT (@GearoidMurphy) Это сложно заставить этот фрагмент работать в среде cygwin, так как xargs обрабатывает прорези окон в качестве escape-последовательностей и не имеет проблем с анализом окончаний строк "\ r\n", ниже мое адаптированное решение этого вполне правильного ответа:

svn st | grep '^?' | gawk '{printf(\"%s|\", $2)}' | xargs -d "|" -n1 C:\cygwin\bin\rm -r

Ответ 2

svn-clean script делает именно это, хотя и полагается на установку perl. Он оставит локальные модификации неповрежденными, но удалит игнорируемые файлы. Запустите с '-p', чтобы просмотреть файлы, которые будут удалены.

Ответ 3

Эта команда должна выполнять задание, пробелы и все (только для OSX):

svn status | grep '^\?' | sed 's/? *//' | xargs -I%  rm -fr %