SVN Merge - Реинтегрировать не удается на "пропущенных диапазонах"
Ситуация такая:
Команда работала над долгосрочным тематическим отделением (18 месяцев). Периодически объединяйте соединительную линию обратно в эту ветвь функций (в начале каждого месяца, позже каждые два / три месяца).
Сегодня мы хотим объединить ветвь функции обратно в транк, используя функцию реинтеграции.
Проблема в том, что мы получаем много (тысячи!):
branches/feature/dir/file.foo
Missing ranges: /trunk/dir/file.foo:94959
Но когда я проверяю журнал svn, я вижу, что диапазон 94000-96500 действительно был слит в прошлом.
Что здесь происходит? Почему SVN жалуется на "пропущенные диапазоны", если это не так? Может ли быть причина, по которой r94959 будет отсутствовать, если я увижу информацию о слиянии на 94000-96500? Как я могу это исправить (как я уже говорил, мы говорим о "отсутствующих" тысячах ревизий)?
Спасибо за помощь.
1 ответ
Это обычно происходит в следующем сценарии:
- У твоего сундука было две ветки типа
branch1
а такжеbranch2
работает параллельно. branch1
создан сначала, а затемbranch2
создано. Но,branch2
изменения завершены в первую очередь, и те реинтегрированы в ствол.- После этого до реинтеграции
branch1
нам нужно сделатьsvn merge
(неsvn merge --reintegrate
) из багажника вbranch1
и разрешить конфликты. - И во время этого мы можем получить некоторые папки также с изменениями свойств с обновлением в некоторых
merge-info
, Если мы, не фиксируем эти папки, так как они простоmerge-info
изменяются только свойства, то это может привести к аналогичной проблеме во времяreintegrate
слияниеbranch1
,
Если это ваш сценарий, решение, которое вы можете попробовать, это сделать svn merge
из вашего багажника в branch1
снова, и вы получите свой merge-info
свойства обновлены в ваших папках снова и передайте их branch1
, Затем попробуйте еще раз с svn merge --reintegrate
от branch1
в багажник.