Использовал ветки SVN с Tortoise 1.6. Я периодически объединяю ствол в ветку, чтобы поддерживать его в актуальном состоянии.
Сегодня подумал реинтегрировать ветку. Я выбрал «Reintegrate a branch» от Tortoise и получил следующее сообщение об ошибке:
Реинтеграцию можно использовать только в том случае, если реинтеграция с 4709 по 5019 ранее была объединена с http://subversion/svn/saxdev/trunk
источником реинтеграции, но это не так.
Затем он перечислил около 50 файлов с такими описаниями, как это:
Error: branches/qst/kobalt/sax/businessobjects/util/HistoryParent.java
Error: Missing ranges: /trunk/kobalt/sax/businessobjects/util/HistoryParent.java:4709-5018
Ревизия 5019 является головной ревизией. Ревизия 4737 была ревизией, когда я создавал ветку.
Это у меня из журнала ревизии 4737
Действие: Добавлен путь: / branch / qst Копировать из пути: / trunk
На мой взгляд, это сообщение об ошибке говорит о том, что ветка была изначально не из ствола, что неверно.
Любые идеи?
источник
Ответы:
Если вы работаете над веткой и постоянно обновляете ее вместе с другими работниками, вы можете быть сбиты с толку, когда создаете рабочую копию ствола и пытаетесь реинтегрировать свою ветку, если получите сообщение примерно такого рода:
Я видел несколько обходных путей в Google, но они заставили меня нервничать как «хакеры». Чтобы решить эту проблему, я решил сделать именно то, на что намекает подрывная деятельность в сообщении. Я вернулся в свою ветку и явно объединил указанные ревизии:
Как только я это сделал, я смог без проблем вернуться к рабочей копии ствола и реинтегрировать ветку.
надеюсь, это поможет
источник
svn merge
он из ствола.[[Хотя мое решение работало для меня в прошлом, оно может приводить к неправильным результатам с современными клиентами SVN. В нашем случае ошибки слияния казались побочными продуктами автоматизации, которые запутали нашу историю SVN, а не реальную деятельность. Я оставляю это здесь для потомков, но, пожалуйста, рассмотрите принятый ответ. ]]
Решением для меня было удалить любые
svn:mergeinfo
свойства, которые каким-то образом прикрепляются к отдельным файлам в иерархии.Чтобы найти файлы с информацией о mergeinfo, вы можете:
Затем вы можете удалить свойства mergeinfo:
После того, как я завершил это, мое слияние прошло нормально.
источник
Если вы попытаетесь повторно интегрировать свою ветку в ствол и увидите такие ошибки в TortoiseSVN:
Щелкните текст ошибки и нажмите CTRL+ A, CTRL+, Cчтобы скопировать весь текст.
Вставьте текст в строку здесь этого сценария PowerShell:
Сценарий извлекает относительные пути к файлам с ошибкой mergeinfo и выводит список команд для исправления каждой из них.
Возможно, вам придется изменить
'userdata'
значение в соответствии со структурой вашего репозитория.Выполните сценарий для вывода команд, необходимых для устранения проблемы mergeinfos.
В этом примере сценарий выдаст такой вывод:
В командной строке вы можете перейти к базе ветки (myproject) и выполнить команды, чтобы удалить проблему mergeinfos.
Вы должны увидеть такой результат:
Как и в ответе Грея , теперь вы должны зафиксировать изменения в ветке и снова попытаться реинтегрироваться. На этот раз должно сработать!
источник
\s+
на, чтобы он работал на вас?+
что нужно, чтобы он работал на меня. В моем случае в некоторых строках было два пробела, а в других - три, поэтому требовалась поддержка переменного количества пробелов. Я не уверен, почему я изменил пробел на\s
; это, вероятно, не было необходимо, так что извините за эту часть!+
так как это было полезно для вас.На самом деле я исправил это, используя параметр «объединить две разные ветки», чтобы объединить ствол и ветвь в мою рабочую копию. Затем я зафиксировал это в багажнике.
дивный
источник
Что-то, что сработало для меня в черепаховом SVN: вместо объединения всех ревизий из ветки выберите определенный диапазон и вручную выберите все свои ревизии из ветки.
источник
Просто делайте то, что вам говорит SVN.
источник
Смотрите также мой ответ здесь, чтобы узнать о моем опыте работы с подобным случаем. Я не уверен, что это источник вашей проблемы, но похоже, что у Subversion 1.8 есть проблемы с mergeinfo, когда два изменения отменяют друг друга.
источник
Я столкнулся с этой проблемой. Я сделал журнал SVN в своей ветке, чтобы узнать, где я объединил магистраль в свою ветку.
Я записал все исправления.
Затем я слил свою ветку с основной, указав ревизии вручную. Я указал все диапазоны, чтобы исключить ревизии, в которых я объединил ствол. Мне удалось объединить свою ветку.
Мне пришлось сделать несколько откатов на mergeinfo, но мой код слили.
Сразу удалил свою ветку.
источник
Я получил эту ошибку после использования частичной проверки ветки. Я обновлял ветку вместе со стволом, но ревизии ствола для частей ветки, которые не были проверены, конечно, не обновлялись. Исправление заключалось в том, чтобы выполнить полную проверку ветки, а затем объединить все изменения магистрали. После внесения их в ветку я смог успешно объединить ветвь с основной веткой.
источник
Получил эту проблему на
щелкните правой кнопкой мыши ветку, в которой вы хотите объединить (но получив это сообщение), и выберите опцию «обновить до ревизии», а затем в открывшемся диалоговом окне (снимок экрана ниже) выберите эти ревизии и нажмите «ОК» - как только все предыдущие ревизии будут объединены, ты бы не получил это сообщение
Добавление этого здесь, чтобы помочь тем, кто использует Tortoise SVN
источник
Я знаю, что это старый пост, но я изо всех сил пытался решить эту проблему, пока не обнаружил, что файлы, перечисленные в сообщении об ошибке, имеют проблему со свойством SVN.
Я щелкнул правой кнопкой мыши проблемные файлы: TortoiseSVN> Свойства и обнаружил, что в файле есть два svn: mergeinfo, и один из них не унаследован от данных. Поэтому я удалил файл mergeinfo.
Я использую TortoiseSVN 1.12.2, сборка 28653 - 64 бит.
источник