SVN Merge - Реинтегрировать не удается на "пропущенных диапазонах"

Ситуация такая:

Команда работала над долгосрочным тематическим отделением (18 месяцев). Периодически объединяйте соединительную линию обратно в эту ветвь функций (в начале каждого месяца, позже каждые два / три месяца).

Сегодня мы хотим объединить ветвь функции обратно в транк, используя функцию реинтеграции.

Проблема в том, что мы получаем много (тысячи!):

branches/feature/dir/file.foo
Missing ranges: /trunk/dir/file.foo:94959

Но когда я проверяю журнал svn, я вижу, что диапазон 94000-96500 действительно был слит в прошлом.

Что здесь происходит? Почему SVN жалуется на "пропущенные диапазоны", если это не так? Может ли быть причина, по которой r94959 будет отсутствовать, если я увижу информацию о слиянии на 94000-96500? Как я могу это исправить (как я уже говорил, мы говорим о "отсутствующих" тысячах ревизий)?

Спасибо за помощь.

1 ответ

Это обычно происходит в следующем сценарии:

  1. У твоего сундука было две ветки типа branch1 а также branch2 работает параллельно.
  2. branch1 создан сначала, а затем branch2 создано. Но, branch2 изменения завершены в первую очередь, и те реинтегрированы в ствол.
  3. После этого до реинтеграции branch1нам нужно сделать svn merge (не svn merge --reintegrate) из багажника в branch1 и разрешить конфликты.
  4. И во время этого мы можем получить некоторые папки также с изменениями свойств с обновлением в некоторых merge-info, Если мы, не фиксируем эти папки, так как они просто merge-info изменяются только свойства, то это может привести к аналогичной проблеме во время reintegrate слияние branch1,

Если это ваш сценарий, решение, которое вы можете попробовать, это сделать svn merge из вашего багажника в branch1 снова, и вы получите свой merge-info свойства обновлены в ваших папках снова и передайте их branch1, Затем попробуйте еще раз с svn merge --reintegrate от branch1 в багажник.

Другие вопросы по тегам