svn
сохраняет информацию о рабочей копии в папках .svn
и использует ее для выполнения некоторых задач управления рабочей копией без доступа к репозиторию, то есть к сети. Если вы просматриваете эти каталоги, вы найдете там локальный файл базы данных и скопированные подкаталоги с кучей файлов .svn-base
. Они отражают состояние вашей рабочей копии в последний раз, когда вы выполнили svn update
или svn checkout
. Поэтому, если вы измените файл в своей рабочей копии, то svn
может определить разницу на основе соответствующего локально сохраненного файла .svn-base
и, следовательно, может отменить изменения.
Информация о структуре каталогов не сохраняется. Если вы хотите отменить изменения в каталоге, самым простым способом является выполнение
svn update
- который, очевидно, нуждается в репозитории и, следовательно, сетевое подключение - от родителя этого каталога.
Похоже, что вы читаете помощь старой версии клиента svn, опубликованной в ответ на вопрос this question.
С версией 1.7 (по крайней мере, я не могу подтвердить, с какой версией именно это изменение произошло) и выше svn help revert
состояний:
Примечание: это суб-команда не требует доступа к сети, и решает любые конфликтующие государства.
И после некоторого тестирования на одном из моих локальных копий:
Удаление с использованием файловой системы
Cmd-$> rd /Q /S <working copy>
или удаление с помощью команды SVN
Cmd-$> svn remove <working copy>
D <working copy>
D <working copy>\<file1>
D <working copy>\<file2>
Использование команды
Cmd-$> svn revert -R .
Я смог вернуться в обоих случаях.
Когда вы говорите «Я видел следующее объяснение», часто полезно предоставить ссылку на него, чтобы другие могли прочитать, о чем вы говорите, и убедиться, что это надежный источник, и вы ничего не истолковали. – alroc