Имеет ли команда svn `revert-all`?

Если я хочу отбросить все мои изменения и вернуться к коду, находящемуся в репозитории, я делаю следующее:

$ rm -fr *
$ svn up

Это достаточно просто, но мне интересно, есть ли одна команда, которая выполнит это, что-то вроде:

$ svn revert-all

Ответ 1

Вы можете сделать:

svn revert -R .

Это не приведет к удалению нового файла, не находящегося под управлением версии. Но вы можете легко написать оболочку script, чтобы сделать это, например:

for file in `svn status|grep "^ *?"|sed -e 's/^ *? *//'`; do rm $file ; done

Ответ 2

Существует команда

svn revert -R .

ИЛИ
вы можете использовать -depth = бесконечность, которая на самом деле такая же, как указано выше:

svn revert --depth=infinity 

svn revert по своей сути опасен, поскольку его цель состоит в том, чтобы выбросить данные, а именно, ваши незафиксированные изменения. Как только вы вернетесь, Subversion не сможет вернуть эти незафиксированные изменения.

Ответ 3

Используйте рекурсивный переключатель --recursive (-R)

svn revert -R .

Ответ 4

Чтобы вернуть измененные файлы:

sudo svn revert
svn status|grep "^ *M" | sed -e 's/^ *M *//'