Если у вас действительно много таких файлов, вы можете убить двух зайцев одним выстрелом, используя операцию svndumpfilter
. Идея состоит в том, чтобы создать дамп хранилища на сервере, отфильтровать файлы, которые вы не хотите хранить, и загрузить результат в новое хранилище. Затем вы помещаете новый вместо старого.
Это нужно делать осторожно, когда пользователи явно не имеют доступа к хранилищу. Но он на самом деле удалит файлы (интересно, когда они большие) вместо того, чтобы хранить их в истории. Как побочный эффект, в следующий раз, когда пользователь выполнит обновление, эти файлы будут игнорироваться, как если бы они никогда не находились в хранилище. Мы должны были сделать это несколько раз, чтобы удалить двоичные файлы, для которых там не было своего места.
Ссылка на соответствующую документацию .
Простой пример (команда предлагает большую гибкость, конечно):
svnadmin create repos_new
svnadmin dump repos | svndumpfilter exclude trunk/log4j.properties | svnadmin load repos_new
Поскольку это касается репозитория на сервере, я хочу еще раз подчеркнуть, что вы должны принять меры предосторожности (сохраните свой старый репозиторий). Для не очень надоедливых файлов метод, предложенный Don , менее радикальный и предпочтительный.
Чтобы избежать такой ситуации, вы можете установить соответствующие свойства svn:ignore
в каталогах, вы также можете поощрять людей использовать глобальное игнорирование (они должны быть установлены на каждом клиенте, к сожалению) или даже использовать ловушку скрипты для упреждающего отклонения категорий файлов.