svn скрипт для фиксации набора удаленных файлов - PullRequest
7 голосов
/ 16 сентября 2010

Я удалил много файлов из моей локальной копии, которые присутствовали в разных подкаталогах основного каталога.Я хочу также удалить все локально удаленные файлы из моего репозитория SVN.

Если я проверяю статус SVN моего основного каталога с помощью svn st main_dir, то все удаленные файлы отображаются с '!'символ, который означает, что соответствующие файлы отсутствуют.Но эти файлы не удаляются из моего SVN-репозитория, даже если я фиксирую свои изменения, используя svn ci main_dir.

. Есть ли способ, команда или сценарий для удаления всех локально удаленных файлов из моего основного каталога и подкаталоговтакже из моего репозитория SVN.Я думаю, что мы можем перебрать все файлы в каждой папке и удалить локально удаленные файлы из SVN, проверив соответствующий файл SVN STATUS ('!'), Но я не знаю, как преобразовать мою идею в сценарий.

Кто-нибудь может помочь мне выполнить эту задачу?Заранее спасибо ...

Шива

Ответы [ 5 ]

17 голосов
/ 16 сентября 2010

for i in $(svn st | grep \! | awk '{print $2}'); do svn delete $i; done

3 голосов
/ 04 июля 2012

Я нашел xargs проще, чем цикл for:

svn stat | grep \\! | awk '{print $2}' | xargs svn remove
1 голос
/ 23 марта 2012
for i in $(svn st | grep \! | awk '{print $2}'); do svn delete $i'@'; done

Для файлов с @ 2x в них.

0 голосов
/ 06 января 2014

Работает также с пробелами в именах файлов:

svn st | grep ! | sed 's/!\s*//' | xargs -I{} svn remove '{}'
0 голосов
/ 16 сентября 2010

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

Подробнее см. svn delete .

Я предлагаю вам svn update вернуть файлы из удаленного репозитория и удалить их с помощью svn delete.

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