我有一个具有以下结构的项目
^/project/trunk
^/project/branches/mybranch
Run Code Online (Sandbox Code Playgroud)
当前HEAD是修订版1048.分支是从r523中的trunk复制的.trunk已合并到mybranch,结果为r1048.mergeinfo on ^/project/branches/mybranch
给出
/project/trunk:523-1047
Run Code Online (Sandbox Code Playgroud)
并且trunk的mergeinfo没有记录提及任何内容^/project/branches/mybranch
.实际上实际上,主干和分支也从并行的分支中保持mergeinfos,mybranch
但是这两个mergeinfos在两个输出中看起来完全相同.
现在我进入我的干线工作副本并尝试发布
svn merge --reintegrate ^/project/branches/myproject
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
svn: Reintegrate can only be used if revisions 523 through 1048 were previously merged from file:///home/svn/project/trunk to the reintegrate source, but this is not the case:
project/branches/mybranch/src
Missing ranges: /project/trunk/src:523-1047
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为我的分支文件夹上的mergeinfo告诉我523-1047已经从主干到分支正确合并.这个子文件夹的处理是什么?src
是一个显然存在于trunk和branch中的目录.
我认为这是有些可疑的地方.如果我查看mybranch/src的mergeinfo,svn pg svn:mergeinfo ^/project/branches/mybranch/src@HEAD
我什么也得不到.如果我看看trunk/src但是(svn pg svn:mergeinfo ^/project/trunk/src@HEAD
)我得到了
/project/branches/mybranch/src:784
Run Code Online (Sandbox Code Playgroud)
所以似乎有人在那里从一个分支到另一个分支做了一个樱桃挑选.但是,这不会出现在trunk文件夹中.
那是麻烦所在吗?最重要的是:我该怎样治愈它?
这是谜语:
C:\code\trunk> svn merge --reintegrate http://svn.e.com/repos/branches/lih --accept postpone --dry-run
svn: E195016: Reintegrate can only be used if revisions 11430 through 12384 were previously merged from http://svn.e.com/repos/trunk to the reintegrate source, but this is not the case:
branches/lih
Missing ranges: /trunk:11902
Run Code Online (Sandbox Code Playgroud)
但是,如果我进入分支的目录并尝试合并该范围,则无需合并!
C:\code\branches\branch> svn merge -r 11901:11902 http://svn.e.com/repos/trunk --accept postpone --dry-run
C:\code\branches\branch>
Run Code Online (Sandbox Code Playgroud)
甚至svn merge -r 11898:11903
没有显示任何合并.
现在我似乎无法将我的分支重新融入后备箱!请帮忙!
PS lih分支直到11906才创建.它从高速分支分支,从分支分支(高清已经合并回主干).