Помимо фильтрации дампов хранилища с помощью svndumpfilter , существует еще одно решение, позволяющее избавиться от определенных файлов и папок в хранилище.См. Раздел часто задаваемых вопросов Apache Subversion «Как полностью удалить файл из истории хранилища?» .
Для решения необходимо выполнить следующие шаги:
Настройка авторизация на основе пути правила для запрета доступа на чтение для ИМЯ ПОЛЬЗОВАТЕЛЯ к ПУТИ файла илипапка, которую вы хотите удалить из истории хранилища.Обратите внимание на существительное во множественном числе paths .Файл или папка, от которых вы хотите избавиться, могут иметь разные имена или могут находиться в разных местах в истории репозитория.Учитывайте это при настройке запрещающих правил.
Создайте пустой репозиторий,
- Используйте
svnsync
инструмент для синхронизации источника(т. е. исходный) хранилище в целевое хранилище под учетной записью USERNAME .Подробнее о репликации репозитория с помощью svnsync см. Главу SVNBook «Репликация репозитория» .
В отличие от svndumpfilter
, svnsync
автоматически переведет операции копирования с нечитаемым исходным путемв обычные добавления, что полезно, если необходимо отфильтровать историю операций копирования.