Svn 是否可以合并仅作为以前合并的子集存在的特定修订?

Svn 是否可以合并仅作为以前合并的子集存在的特定修订?,svn,version-control,merge,Svn,Version Control,Merge,在我的场景中,我有三个分支b1,b2和b3。 我在b1中创建了三个文件A、B和C,并分别提交了它们,从而生成了以下日志: svn log ^/branches/b1 ------------------------------------------------------------------------ r14 C created ------------------------------------------------------------------------ r13 B c

在我的场景中,我有三个分支
b1
b2
b3
。 我在
b1
中创建了三个文件A、B和C,并分别提交了它们,从而生成了以下日志:

svn log ^/branches/b1
------------------------------------------------------------------------
r14
C created
------------------------------------------------------------------------
r13
B created
------------------------------------------------------------------------
r12
A created
------------------------------------------------------------------------
然后我切换到分支
b2
,并合并
b1

svn merge ^/branches/b1
结果是r15

svn log ^/branches/b2
------------------------------------------------------------------------
r15
Merged from b1: A,B,C
------------------------------------------------------------------------
现在,我想将仅修订版r12合并到分支
b3
。我可以使用
svnlog-g^/branchs/b2
查看所有修订版12、13和14。 执行merge命令时,仅写入mergeinfo:

svn merge -c 12 ^branches/b2
--- Recording mergeinfo for merge of r12 into '.':
 U   .
但是我只想要一个确切的修订版,文件A从
b2
合并到
b3
。 如果我理解正确,这是不可能的,因为r12不存在于
b2
路径中。因此,只有两种方法可以实现我的目标:

  • 将r12从
    b1
    合并到
    b3
  • 合并
    b1
    的每个修订并分别提交到
    b2
    ,然后在那里选择“新”修订
我已经看到了这一点:这让我了解了如何实现简化后一种选择的脚本

有没有可能通过svn实现这一点

谢谢

我可以使用
svn log-g^/branchs/b2

但对于(我的样本)

合并后b2日志中的状态修订6-8必须
表示无

  • 在输出中通过:r9合并
  • 与受影响文件中的b2路径无关
是合并到但不属于分支修订的良好指示

如果要将一个特定修订版中的更改合并到另一个节点中,则必须使用真正存在修订版的节点(在本例中为-b1)

>svn log -g -q -v
------------------------------------------------------------------------
r9 | Badger | 2014-03-09 02:01:44 +0600 (Вс, 09 мар 2014)
Changed paths:
   M /branches/b2
   A /branches/b2/A.txt (from /branches/b1/A.txt:8)
   A /branches/b2/B.txt (from /branches/b1/B.txt:8)
   A /branches/b2/C.txt (from /branches/b1/C.txt:8)
------------------------------------------------------------------------
r8 | Badger | 2014-03-09 02:00:16 +0600 (Вс, 09 мар 2014)
Changed paths:
   A /branches/b1/C.txt
Merged via: r9
------------------------------------------------------------------------
r7 | Badger | 2014-03-09 01:59:56 +0600 (Вс, 09 мар 2014)
Changed paths:
   A /branches/b1/B.txt
Merged via: r9
------------------------------------------------------------------------
r6 | Badger | 2014-03-09 01:59:38 +0600 (Вс, 09 мар 2014)
Changed paths:
   A /branches/b1/A.txt
Merged via: r9
------------------------------------------------------------------------
r3 | Badger | 2014-03-09 01:56:48 +0600 (Вс, 09 мар 2014)
Changed paths:
   A /branches/b1 (from /trunk:2)
Merged via: r9
------------------------------------------------------------------------
r4 | Badger | 2014-03-09 01:57:41 +0600 (Вс, 09 мар 2014)
Changed paths:
   A /branches/b2 (from /trunk:3)
------------------------------------------------------------------------
r2 | Badger | 2014-03-09 01:55:10 +0600 (Вс, 09 мар 2014)
Changed paths:
   A /trunk/Main.txt
------------------------------------------------------------------------
r1 | Badger | 2014-03-09 01:52:47 +0600 (Вс, 09 мар 2014)
Changed paths:
   A /branches
   A /tags
   A /trunk
------------------------------------------------------------------------