我想将主干中的修订版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 https://example.com:8443/svn/project/trunk 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
行(合并之前不存在)。
您是否知道为什么合并既不会复制我的代码更改也不会失败?
更新:源代码本身可以很好地合并:我可以创建补丁并手动应用。
答案 0 :(得分:1)
很抱歉浪费你的时间,但结果却是睡眠不好和眼睛紧张的典型影响。
我已经在r1008
上提交了/branches/feature-branch
新功能,该功能已包含相同的更改(包括其他内容)。 Subversion足够聪明,可以意识到不需要移植那些新的代码行,因为目标文件中已存在这些代码。这是正确的行为。
(我想当我为了测试而进行手动修补时,我不够小心并且将结果解释错误。)
我如何在没有合并的情况下在两个分支中进行相同的更改是我永远不会知道的,但我做了它:它都在日志中。
答案 1 :(得分:0)
我可能会遗漏一些东西,但1007已经在/ trunk行中了:
/树干:1-942,980,986,991,995,1000,的 1007 下,1017至1021年