Как осуществляется управление номерами ревизий при объединении двух репозиториев SVN?

Этот вопрос: SVN: перемещение ствола репозитория в чужую ветку (с историей ) описывает сохраняющий историю процесс слияния в одном репозитории как подкаталоге другого. Мне нужно сделать аналогичное слияние, но я пытаюсь понять, как номера ревизий будут управляться в новом объединенном репозитории.

Предполагая, что и «RepositoryA», и «RepositoryB» у каждого уже есть «ревизия 5», если ревизия 5 «RepositoryA / trunk» будет перемещена в «RepositoryB / RepAProject / trunk», какой она будет пронумерована? Будут ли обновлены номера ревизий для обоих репозиториев? Или объединенный репозиторий получит новые последовательные номера ревизий, соответствующие дате объединения?

И в качестве дополнительного вопроса: смогут ли пользователи svn switch --relocate перейти из старого репо в новый подкаталог, или новый UUID репозитория предотвратит это?


person skyebend    schedule 22.02.2013    source источник


Ответы (1)


Объединенный репозиторий получит новые последовательные номера ревизий, подходящие для вставок новых коммитов inport (6–10 в вашем примере), но их временные метки будут соответствовать тому, что вы видели в исходном репозитории.

svnadmin load импортирует каждую из пяти ревизий по порядку.

После импорта старых репозиториев (с 5 ревизиями) целевые репозитории будут иметь 10 ревизий, но ревизии 6-10 будут иметь более ранние отметки времени, чем ревизии 1-5.

Имейте в виду, что в живых системах другие области коммитов допускают процесс промежуточного импорта.

Как вы правильно ответили, изменение UUID помешает работе команды svn switch --relocate.

person Josh    schedule 22.02.2013