Как переместить кодовую базу от одного svn repo к другой истории сохранения?

У меня есть ответвление в плохо структурированном svn repo, который должен быть разделен и перемещен в другой репозиторий SVN. (Я пытаюсь убрать его некоторые).

Если я делаю svn log и не остановка копируют/переименовывают, я вижу все 3 427 фиксаций, о которых я забочусь. Там некоторый путь состоит в том, чтобы разгрузить изменения, за исключением записи некоторых главных сценариев?

Я последовал бы совету в этом вопросе, но это ответвление было перемещено повсеместно, и я хотел бы сохранить перемещения также.

6
задан Community 23 May 2017 в 11:44
поделиться

3 ответа

Думаю, это может быть похоже на то, что имеет в виду @ZacThompson (и @Pekka): я думаю, svndumpfilter - ваш друг.

Судя по вашему вопросу, я думаю, вы имеете представление о том, для чего он предназначен, но боретесь с копированием / перемещением ветки повсюду? Ответ на этот вопрос можно найти в ранее упомянутой документации SVN , я полагаю:

Кроме того, скопированные пути могут вызвать некоторые проблемы . Subversion поддерживает операции копирования в репозитории, где новый путь создается путем копирования некоторого уже существующего пути. Возможно , что в какой-то момент времени существования вашего репозитория вы могли скопировать файл или каталог из некоторого места , которое исключает svndumpfilter, в место, которое он включает. Чтобы сделать данные дампа самодостаточными, svndumpfilter должен по-прежнему показывать добавление нового пути, включая содержимое любых файлов, созданных copy - и не представлять это дополнение как копию из источника, который не существует в потоке отфильтрованных данных дампа . Но поскольку формат дампа репозитория Subversion показывает только то, что было изменено в каждой ревизии, содержимое источника копирования может быть недоступно . Если вы подозреваете , что у вас есть какие-либо копии такого типа в вашем репозитории, вы можете пересмотреть свой набор включенных / исключенных путей, возможно, включая пути , которые служили источниками ваших проблемных операций копирования.

Значение: make svndumpfilter включает все пути, по которым когда-либо существовала ветвь.Или я что-то упустил?

Другой возможностью может быть svndumpfilter2 , упомянутый @compie в цепочке, которую вы связали, хотя я считаю, что это даже не обязательно (и я не знаю ни @compie, ни svndumpfilter2 ).

2
ответ дан 17 December 2019 в 22:11
поделиться

Вы захотите использовать некоторую комбинацию из:

  1. svnadmin dump
  2. svndumpfilter
  3. svnadmin load

Если вы хотите выполнить целая ветка, возможно, вам даже не понадобится svndumpfilter. Но если вы это сделаете:

http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.filtering

1
ответ дан 17 December 2019 в 22:11
поделиться

Для резервного копирования каталога репозитория необходимо использовать HotCopy. Затем следует просто восстановить репозиторий.

-2
ответ дан 17 December 2019 в 22:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: