Удалить определенные файлы из истории изменений

Я пытаюсь удалить конкретные файлы из истории ревизий, которые я не хотел коммитить. Может кто-нибудь предоставить способ сделать это?

3 ответа

Вам нужно будет использовать svndumpfilter инструмент. Процедура включает в себя сброс вашего хранилища, фильтрацию (с svndumpfilter) ваш дамп-файл и перезагрузите результаты в новый репозиторий. См. Эту главу в SVNBook для деталей.

Помимо фильтрации дампа репозитория с помощью svndumpfilter, существует еще одно решение, которое позволяет избавиться от определенных файлов и папок в репозитории. Пожалуйста, смотрите раздел часто задаваемых вопросов Apache Subversion "Как мне полностью удалить файл из истории репозитория?",

Решение требует от вас выполнения следующих шагов:

  1. Настройте правила авторизации на основе пути, чтобы запретить доступ на чтение для ИМЕНИ ПОЛЬЗОВАТЕЛЯ к ПУТИ файла или папки, которую вы хотите удалить из истории репозитория. Пожалуйста, обратите внимание на множественные существительные пути. Файл или папка, от которых вы хотите избавиться, могут иметь разные имена или могут находиться в разных местах в истории репозитория. Пожалуйста, учтите это при настройке запрещающих правил.

  2. Создать пустой репозиторий,

  3. использование svnsync инструмент для синхронизации исходного (т.е. исходного) хранилища с целевым хранилищем под учетной записью USERNAME. Подробнее о репликации репозитория с помощью svnsync см. Главу SVNBook "Репликация репозитория".

В отличие от svndumpfilter, svnsync автоматически преобразует операции копирования с нечитаемым исходным путем в обычные добавления, что полезно, если необходимо отфильтровать историю операций копирования.

Вы не можете удалить историю изменений.

Другие вопросы по тегам