Фильтровать много конфиденциального кода из хранилища SVN
Я в курсе всей проблемы дампа | фильтра | нагрузки, уничтожения и т. Д. И я согласен, что обычно вам не нужно удалять файлы из истории.
Однако у меня есть то, что я считаю частным случаем. Последние несколько лет моя команда работала над несколькими iOS-проектами, не все из которых были тесно связаны, но у них был общий код, и они управлялись в одном репозитории SVN.
Теперь проблема: компания решила передать дальнейшую разработку одного из проектов третьей стороне. Мы должны дать им код этого проекта - включая историю - но мы не хотим давать им код для других проектов.
Как я могу это сделать? По причинам, задокументированным автором Svndumpsanitizer, цикл dump | filter | load не работает; к сожалению, Svndumpsanitizer тоже не работает. Мой текущий подход - перенести репозиторий в git, где вы можете удалить историю. Но я думаю, что это излишество.
1 ответ
Официальная запись Apache Subversion FAQ относится к вашему делу, насколько я вижу банкомат.
Новый подход, который позволяет вам фильтровать историю репозитория, предположительно должен помочь:
Вы можете скопировать хранилище с svnsync
инструмент после настройки правил авторизации на основе путей, которые запрещают доступ на чтение к любым путям, которые необходимо отфильтровать из истории репозитория.
В отличие от svndumpfilter
, svnsync
автоматически преобразует операции копирования с нечитаемым исходным путем в обычные добавления, что полезно, если необходимо отфильтровать историю операций копирования.
Также проверьте этот ответ: /questions/941695/udalit-opredelennyie-fajlyi-iz-istorii-izmenenij/941702#941702.