SVN Merge с --reintegrate жалуется на отсутствующие диапазоны, но Mergeinfo кажется правильным
У меня есть проект со следующей структурой
^/project/trunk
^/project/branches/mybranch
где текущим заголовком является версия 1048. Ветвь была скопирована из транка в r523. ствол был объединен с mybranch с результатом r1048. Объединенная информация о ^/project/branches/mybranch
дает
/project/trunk:523-1047
и mergeinfo транка не имеет записей, упоминающих что-либо из ^/project/branches/mybranch
, На самом деле, как в стволе, так и в ветвях также содержатся слияния, параллельные mybranch
но эти слияния выглядят абсолютно идентичными в обоих выходных данных.
Теперь я иду в мою рабочую копию ствола и пытаюсь выдать
svn merge --reintegrate ^/project/branches/myproject
Я получаю сообщение об ошибке:
svn: Reintegrate can only be used if revisions 523 through 1048 were previously merged from file:///home/svn/project/trunk to the reintegrate source, but this is not the case:
project/branches/mybranch/src
Missing ranges: /project/trunk/src:523-1047
Это странно, потому что информация о слиянии в моей папке филиала говорит мне, что 523-1047 были правильно объединены из магистрали в ветку. Как обстоят дела с этой подпапкой? src
это каталог, который явно существует как в транке, так и в ветке.
Я думаю, что здесь что-то подозрительное. Если я загляну в mergeinfo mybranch/src через svn pg svn:mergeinfo ^/project/branches/mybranch/src@HEAD
Я ничего не получаю вообще. Если я смотрю на багажник / SRC однако (svn pg svn:mergeinfo ^/project/trunk/src@HEAD
) Я получил
/project/branches/mybranch/src:784
Так что, кажется, что кто-то сделал вишневую ветку от ветки до ствола. Однако это не появляется в самой папке транка.
В этом проблема? И самое главное: как я могу это вылечить??
2 ответа
В этом проблема?
Да, именно так - слияние поддеревьев позже всегда смущает реинтеграцию
И самое главное: как я могу это вылечить??
Удалить mergeinfo из /project/trunk/src
Вот очень похожая тема, на которую вы могли бы взглянуть:
Особенно этот ответ Paul Whipp мне очень помог, когда я столкнулся с той же проблемой и не хотел удалять mergeinfo, потому что это звучало как обходной путь, а не как "реальное" исправление.
Вкратце: попробуйте объединить недостающую информацию вручную для этого конкретного файла / папки (так, как предлагает svn). Работал как шарм для меня.
См. Ответ Паулса для соответствующих примеров кода и т. Д.