Объединить изменения SVN: Mergeinfo, но не файлы - PullRequest
0 голосов
/ 08 июля 2011

Я хочу объединить ревизию r1007 из ствола в нетронутую рабочую копию /branches/feature-branch.Редакция включает в себя изменения в 2 файлах, которые уже существуют как в стволе, так и в ветви.

Я пробовал использовать оба инструмента TortoiseSVN и клиент командной строки, и результат всегда одинаков: объединение происходит без ошибок, но содержимое файла не изменяется .Только свойство svn:mergeinfo обновляется (должным образом) для отражения r1007:

C:\>svn log -r1007 --verbose https://example.com.s:8443/svn/project/trunk
------------------------------------------------------------------------
r1007 | alvaro | 2011-02-01 17:44:37 +0100 (mar, 01 feb 2011) | 5 lines
Changed paths:
   M /trunk/Servidor/web/importar/index.php
   M /trunk/Servidor/web/logica/importacion-ayuntamiento.php

Fix blah blah blah
------------------------------------------------------------------------

C:\>svn merge https://example.com:8443/svn/project/trunk@1006 ^
          https://example.com:8443/svn/project/trunk@1007 ^
          C:\Project\feature-branch

C:\>svn status C:\Project\feature-branch
 M      C:\Project\feature-branch

(я также пробовал svn merge -r1006:1007 <a href="https://example.com:8443/svn/project/trunk" rel="nofollow">https://example.com:8443/svn/project/trunk</a> C:\Project\feature-branch.)

Единственный задействованный каталог, который имеетсвойство svn:mergeinfo равно C:\Project\feature-branch, и я не вижу в этом ничего плохого:

/branches/branch-a:476-477,481,611,613-614,620-622,661-662,731,740-742,745-748,751,757,922,988
/branches/branch-b:482,489-497,499-589,598,603,610,625,627,636,638-640,646,648,657,668-672,682,684,690,700,715-718,720,722,725-730,762,764-767,770,773,778-779,782-789,803,805,807,826,834,836-837,839-859,869,875,882,900-905
/branches/branch-c:706,709,712,735,737-739,829,842-852,854,877,892,907-910,918
/trunk:1-942,980,986,991,995,1000,1007,1017-1021

Единственное изменение, внесенное слиянием, - это добавление ,1007 к строке /trunk (его нет до слияния).

Есть ли у вас какие-либо идеи о том, почему слияние не копирует изменения моего кода и не приводит к сбою?

Обновление: Сам исходный код можно объединить просто отлично:Я могу создать патч и применить его вручную.

Ответы [ 2 ]

1 голос
/ 08 июля 2011

Извините, что потратил ваше время, но оказалось, что это типичный эффект плохого сна и напряженных глаз.

Я совершил r1008 с новой функцией в /branches/feature-branch, которая уже содержала те же самые изменения (среди прочих). Subversion достаточно умен, чтобы понять, что нет необходимости переносить эти новые строки кода, поскольку они уже есть в целевом файле. Это правильное поведение.

(Полагаю, что когда я делал ручные исправления для проверки, я не был достаточно осторожен и неправильно интерпретировал результаты.)

Как я сделал одинаковые изменения в двух ветвях без слияния, я никогда не узнаю, но я сделал это: все это в журнале.

0 голосов
/ 08 июля 2011

Я могу что-то упустить, но 1007 уже находится в / магистральной линии:

/ магистрали: 1-942,980,986,991,995,1000, 1007 , 1017-1021

...