Как автоматически удалять папки / файлы из репозитория SVN? - PullRequest
1 голос
/ 06 июня 2011

Я впервые использую SVN, так что, вероятно, это основной вопрос.

Приложение, которое я использую под svn, проблема в том, что одной из задач приложения является автоматическое добавление / удаление папок / файлов.;Когда я фиксирую, я хочу обновить хранилище с текущим деревом папок.

Я видел, как добавить все созданные файлы / папки, с svn add -f myapp/*, но я получаю ошибку, если я удаляю папку, которая былауже в репозитории: svn: Directory '/myapp/folder' is missing.

Как я могу сказать SVN удалить недостающую папку / файлы из репо во время фиксации?

Я знаю, что svn имеет команду remove, но любезноголовная боль, используемая каждый раз, когда я что-то удаляю.

Обновление : Благодаря ссылке Джона я нашел эту команду: svn rm $( svn status [LOCAL_COPY_PATH] | sed -e '/^!/!d' -e 's/^!//' ) [LOCAL_COPY_PATH], которая полностью удовлетворяет мои потребности.

Ответы [ 2 ]

1 голос
/ 06 июня 2011

Вы всегда должны использовать svn delete, а не просто удалять папки / файлы из репозитория. При этом похоже, что кто-то написал скрипт для этого:

svn автоматически пропускает файл

0 голосов
/ 06 июня 2011

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

Мое предложение состоит в том, чтобы сначала восстановить папку с помощью svn update, правильно удалить с помощью «svn rm», а затем зафиксировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...