У меня есть ответвление в плохо структурированном svn repo, который должен быть разделен и перемещен в другой репозиторий SVN. (Я пытаюсь убрать его некоторые).
Если я делаю svn log
и не остановка копируют/переименовывают, я вижу все 3 427 фиксаций, о которых я забочусь. Там некоторый путь состоит в том, чтобы разгрузить изменения, за исключением записи некоторых главных сценариев?
Я последовал бы совету в этом вопросе, но это ответвление было перемещено повсеместно, и я хотел бы сохранить перемещения также.
Думаю, это может быть похоже на то, что имеет в виду @ZacThompson (и @Pekka): я думаю, svndumpfilter
- ваш друг.
Судя по вашему вопросу, я думаю, вы имеете представление о том, для чего он предназначен, но боретесь с копированием / перемещением ветки повсюду? Ответ на этот вопрос можно найти в ранее упомянутой документации SVN , я полагаю:
Кроме того, скопированные пути могут вызвать некоторые проблемы . Subversion поддерживает операции копирования в репозитории, где новый путь создается путем копирования некоторого уже существующего пути. Возможно , что в какой-то момент времени существования вашего репозитория вы могли скопировать файл или каталог из некоторого места , которое исключает svndumpfilter, в место, которое он включает. Чтобы сделать данные дампа самодостаточными, svndumpfilter должен по-прежнему показывать добавление нового пути, включая содержимое любых файлов, созданных copy - и не представлять это дополнение как копию из источника, который не существует в потоке отфильтрованных данных дампа . Но поскольку формат дампа репозитория Subversion показывает только то, что было изменено в каждой ревизии, содержимое источника копирования может быть недоступно . Если вы подозреваете , что у вас есть какие-либо копии такого типа в вашем репозитории, вы можете пересмотреть свой набор включенных / исключенных путей, возможно, включая пути , которые служили источниками ваших проблемных операций копирования.
Значение: make svndumpfilter
включает все пути, по которым когда-либо существовала ветвь.Или я что-то упустил?
Другой возможностью может быть svndumpfilter2
, упомянутый @compie в цепочке, которую вы связали, хотя я считаю, что это даже не обязательно (и я не знаю ни @compie, ни svndumpfilter2
).
Вы захотите использовать некоторую комбинацию из:
Если вы хотите выполнить целая ветка, возможно, вам даже не понадобится svndumpfilter. Но если вы это сделаете:
http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.filtering
Для резервного копирования каталога репозитория необходимо использовать HotCopy. Затем следует просто восстановить репозиторий.