Решения @Aaron Digulla и @kementeus работоспособны. В репозиториях Subversion 1.4 операции копирования / перемещения могут затруднить будущую миграцию в другую структуру репозитория или разделение репозиториев.
Я считаю, что улучшения 1.5 включают в себя лучшее разрешение истории перемещения / копирования, так что, вероятно, это не будет проблемой для хранилища 1.5.
Для хранилища 1.4 я бы порекомендовал использовать svnadmin dump
и svndumpfilter
выполнить перемещение существующего ствола в другом месте, а затем переместить ветвь в ствол с тем же механизмом. Загрузите два файла дампа в тестовый репозиторий, проверьте, а затем переместите его в рабочий.
Конечно, перед запуском сделайте резервную копию вашего существующего хранилища.
Это сохраняет историю без явной записи перемещения / копирования и облегчает будущую реорганизацию, сохранение истории.
Изменить: В соответствии с просьбой, документация поведения 1.4, из книги 1.4 Red-Bean, Фильтрация истории репозитория
Кроме того, скопированные пути могут вызвать некоторые проблемы. Subversion поддерживает операции копирования в хранилище, где создается новый путь путем копирования уже существующего пути. Вполне возможно, что в какой-то момент времени существования вашего репозитория вы могли скопировать файл или каталог из какого-то svndumpfilter
исключающего местоположения, в то же самое, что и оно. Чтобы сделать данные дампа самодостаточными,svndumpfilter
Необходимо по-прежнему показывать добавление нового пути, включая содержимое любых файлов, созданных копией, и не представлять это добавление как копию из источника, которого не будет в потоке данных отфильтрованного дампа. Но поскольку формат дампа хранилища Subversion показывает только то, что было изменено в каждой ревизии, содержимое источника копирования может быть недоступно. Если вы подозреваете, что у вас есть какие-либо копии такого рода в вашем хранилище, вы можете переосмыслить свой набор включенных / исключенных путей, возможно, включая пути, которые также служили источниками ваших проблемных операций копирования.
Это относится к миграции / реорганизации с использованием svndumpfilter
. Бывают случаи, когда небольшая дополнительная работа может сэкономить большую часть дополнительной работы, а простое использование svndumpfilter
доступных для будущих миграций / реорганизаций снижает риск при относительно низких затратах.