Реинтеграция может использоваться только в том случае, если ревизии от X до Y были ранее объединены с <URL> реинтегрировать источник, но это не так

Использовали ветки SVN с Tortoise 1.6. Я периодически сливал ствол в ветку, чтобы поддерживать его в актуальном состоянии.

Сегодня я решил реинтегрировать филиал. Я выбрал «Реинтегрировать ветку» от Черепахи и получил следующее сообщение об ошибке:

Реинтеграция может использоваться только в том случае, если ревизии с 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

Для меня это сообщение об ошибке говорит о том, что ветвь не была изначально из транка, что не соответствует действительности.

Есть идеи?

119 голосов | спросил colinjwebb 19 Jpm1000000pmWed, 19 Jan 2011 19:08:53 +030011 2011, 19:08:53

8 ответов


0

Если вы работаете над веткой и постоянно обновляете ее, работая с другими, вы можете быть удивлены, когда создаете рабочую копию ствола и пытаетесь реинтегрировать свою ветку, если получаете сообщение примерно такого типа:

$ svn merge --reintegrate https://server.blah/source/orb/branches/bronze_services
svn: Reintegrate can only be used if revisions 650 through 694 were previously merged from
     https://server.blah/source/orb/trunk to the reintegrate source, but this is not the
     case:
  branches/bronze_services/occl
    Missing ranges: /trunk/occl:650-693

Я видел несколько обходных путей в Google, но они заставляли меня нервничать как «хаки». Чтобы решить эту проблему, я решил сделать именно то, на что намекает подрывная сила в сообщении. Я вернулся в свою ветку и явно объединил указанные ревизии:

$ svn merge -r 650:693 https://server.blah/source/orb/trunk
$ svn commit -m 'merged revisions 650:693 from trunk'
    Sending        occl
Committed revision 695.

Как только я это сделал, я смог вернуться к рабочей копии транка и без проблем реинтегрировать ветку.

Надеюсь, это поможет

ответил Paul Whipp 16 52012vEurope/Moscow11bEurope/MoscowFri, 16 Nov 2012 07:14:02 +0400 2012, 07:14:02
0

[[Хотя мое решение работало для меня в прошлом, оно может привести к неправильным результатам с современными клиентами SVN. В нашем случае ошибки слияния казались побочными продуктами автоматизации, которые запутывали нашу историю SVN, а не реальную деятельность. Я оставляю это здесь для потомков, но, пожалуйста, примите во внимание принятый ответ. ]] Сильный>

Решением для меня было удалить все svn:mergeinfo свойства, которые каким-либо образом прикрепляются к отдельным файлам в иерархии.

svn merge --reintegrate svn+ssh://svn/usr/local/svn/repos/all/trunk 
svn: Reintegrate can only be used if revisions 18765 through 18921 were
    previously merged from svn+ssh://svn/usr/local/svn/repos/all/trunk to the
    reintegrate source, but this is not the case:
trunk/proj/src/main/java/com/foo/furniture.java
Missing ranges: /trunk/proj/src/main/java/com/foo/furniture.java:18765-18920

Чтобы найти файлы с информацией mergeinfo, вы можете сделать:

cd ~/svn/branches/2.7
svn propget -R svn:mergeinfo .

Затем вы можете удалить свойства mergeinfo:

svn propdel svn:mergeinfo proj/src/main/java/com/foo/furniture.java ...
svn commit -m 'removed mergeinfo' proj/src/main/java/com/foo/furniture.java ...

После того как я завершил это, мое слияние выполнено нормально.

ответил Gray 19 J000000Tuesday11 2011, 21:30:25
0

Если вы попытаетесь реинтегрировать вашу ветку в транк, и вы увидите подобные ошибки от TortoiseSVN:

Тест на объединение с реинтеграцией завершился неудачно !: "Реинтегрировать можно только в том случае, если некоторые ревизии ранее были объединены из магистрали, но не тот случай "

Нажмите на текст ошибки и нажмите CTRL + A , CTRL + C , чтобы скопировать весь текст .

Вставьте текст в строку этого сценария PowerShell:

@"
Command: Reintegrate merge http://svn.cloudcorp.com/branches/myproject into C:\Users\iain\Documents\Repositories\CloudCorp\trunk  
Error: Reintegrate can only be used if revisions 18089 through 18612 were previously  
Error:  merged from http://svn.corp.skyscanner.local/svn/SkyScannerDatabase/trunk to  
Error:  the reintegrate source, but this is not the case:  
Error:    
Error:  branches/myproject/userdata/usermanagementservice  
Error:   
Error:     Missing ranges:  
Error:  /trunk/userdata/usermanagementservice:18365,18404  
Error:    
Error:  branches/myproject/userdata/auto_create_db.sql  
Error:   
Error:     Missing ranges:  
Error:  /trunk/userdata/auto_create_db.sql:18406  
Error:   
Error:    
Error:  branches/myproject/userdata/create_audit_tables_triggers_uds.sql  
Error:   
Error:     Missing ranges:  
Error:  /trunk/userdata/create_audit_tables_triggers_uds.sql:18406  
"@ -split "`n" |
? { $_ -match ('Error: +branches') } |
% { $_.Substring($_.IndexOf('userdata')) } |
% { "svn propdel svn:mergeinfo $_" }

Сценарий извлекает относительные пути файлов с проблемой mergeinfo и выводит список команд для исправления каждой из них.

Возможно, вам придется изменить значение 'userdata' в соответствии со структурой вашего хранилища.

Выполните сценарий, чтобы вывести команды, необходимые для устранения проблемы mergeinfos.

В этом примере скрипт выдаст такой вывод:

svn propdel svn:mergeinfo userdata/usermanagementservice  
svn propdel svn:mergeinfo userdata/auto_create_db.sql  
svn propdel svn:mergeinfo userdata/create_audit_tables_triggers_uds.sql  

В командной строке вы можете перейти к базе филиала (myproject) и выполнить команды для удаления проблемы mergeinfos.

Вы должны увидеть результат примерно так:

property 'svn:mergeinfo' deleted from 'userdata\usermanagementservice'.
property 'svn:mergeinfo' deleted from 'userdata\auto_create_db.sql'.
property 'svn:mergeinfo' deleted from 'userdata\create_audit_tables_triggers_uds.sql'.

Как и в ответе Грея , теперь вы должны зафиксировать изменения в ветке и попытаться реинтегрировать снова. На этот раз это должно сработать!

ответил Iain Samuel McLean Elder 19 J000000Friday13 2013, 20:21:22
0

На самом деле я исправил это с помощью опции «объединить две разные ветви», чтобы объединить ствол и ветку в мою рабочую копию. Тогда я передал это в багажник.

Замечательное

ответил colinjwebb 19 Jpm1000000pmWed, 19 Jan 2011 19:37:05 +030011 2011, 19:37:05
0

Что-то, что сработало для меня в черепаховом SVN: вместо объединения всех ревизий из ветви выберите конкретный диапазон и вручную выберите все свои ревизии из ветви.

ответил Olga Perederieieva 23 AM00000010000000731 2017, 01:23:07
0

Просто делай так, как говорит SVN.

  1. Слияние ветки с реверсии, о которой вам говорит SVN
  2. Реинтегрируйте из филиала в ствол
ответил Farshid Eilami 9 MonEurope/Moscow2013-12-09T16:28:22+04:00Europe/Moscow12bEurope/MoscowMon, 09 Dec 2013 16:28:22 +0400 2013, 16:28:22
0

Смотрите также мой ответ здесь по моему опыту с аналогичным случаем. Я не уверен, является ли это источником вашей проблемы, но похоже, что Subversion 1.8 имеет проблемы с mergeinfo, когда два изменения отменяют друг друга.

ответил dewtell 27 32013vEurope/Moscow11bEurope/MoscowWed, 27 Nov 2013 03:32:46 +0400 2013, 03:32:46
0

Я столкнулся с этой проблемой. Я сделал журнал SVN в своей ветке, чтобы найти, где я слил транк в мою ветку.

Я отметил все исправления.

Затем я выполнил слияние своей ветви с транком, указав ревизии вручную. Я указал все диапазоны, чтобы исключить ревизии, где я сливал ствол. Мне удалось объединить мою ветку.

Мне пришлось сделать некоторые изменения в mergeinfo, но мой код был объединен.

Я немедленно удалил свою ветку.

ответил David 13 PMpMon, 13 Apr 2015 22:38:34 +030038Monday 2015, 22:38:34

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132