svn合并:树冲突

svn合并:树冲突,svn,tortoisesvn,svn-merge,tree-conflict,Svn,Tortoisesvn,Svn Merge,Tree Conflict,我在SVN中遇到树冲突。真奇怪 我有标准的主干、分支、标记结构,并遵循多团队模式。 Branch1、Branch2是从主干创建的,并行活动 接下来的步骤: 1. Branch1工作:newfile.c在Branch1 2. 合并:从Branch1->Trunk(成功;文件添加到Trunk中) 3. 合并:从主干向下合并->分支2。(成功;文件添加到Branch2中) 4. Branch2工作:执行常规Branch2工作并提交。 5. Merge:从Branch2到Trunk=>此步骤引发newf

我在SVN中遇到树冲突。真奇怪

我有标准的主干、分支、标记结构,并遵循多团队模式。 Branch1、Branch2是从主干创建的,并行活动

接下来的步骤:
1.
Branch1工作
newfile.c
Branch1

2. <代码>合并:从Branch1->Trunk(成功;文件添加到Trunk中)
3. <代码>合并:从主干向下合并->分支2。(成功;文件添加到Branch2中)
4. <代码>Branch2工作:执行常规Branch2工作并提交。
5.
Merge
:从Branch2到Trunk=>此步骤引发
newfile.c

Branch2团队正在获取他们根本没有触及的
newfile.c
的树冲突。 为什么会发生这种情况。请问有什么建议,可以避免吗?这个问题让我很烦恼

PS:我使用了TortoiseSVN客户端1.6.0和TortoiseSVN 1.6.16-32位(两者都单独使用)

合并错误(步骤5以上):

PFB svn回购日志(步骤1-4以上):

这在这个工作流中是不可能的,即使是1.6版。您必须显示所有命令和输出

根据日志,您是2009版设计文档中提到的受害者。最重要的是

r35341中的固定期望值

我不能说,如何将这个修订版翻译成带有bug修复的TortoiseSVN构建。我将在我最新的1.6上测试您的工作流(
TortoiseSVN 1.6.16,build21511-32位,2011/06/01 19:00:35

我的日志用于UtteroiseSVN 1.7.11,构建23600-32位(所有合并-基于GUI的本地存储库)

评论

我尽量准确地重复你的动作

  • r2-r4-准备好的试验区域:主干和两个分支
  • r5-更改中继线以分流历史记录
  • r6-在分支b1中添加新文件(Reference.txt)
  • r7-合并分支b1到主干(在主干中出现Reference.txt)
  • r8-合并主干到分支b2(b2中出现Reference.txt)
  • r9-b2中已更改的文件,Reference.txt未更改
  • r10-将b2合并到主干,无任何错误
附加组件

使用1.6.16进行测试,得到了描述的结果,即使我在合并树之前在分支文件中预先合并编辑了

附加2


该死的!!!它在最新的1.7版本中也不起作用。这让我发疯了。错误消息看起来很神秘,但基本上解释了问题:

局部障碍物,传入附加合并

您正在将r3到r8从BR2移植到主干中。问题是在r7中添加了
artTransactionFeedTo2.java

r7 | rohit | 2013-03-05 16:29:34 +0530 (Tue, 05 Mar 2013) | 1 line
Changed paths:
   A /Branches/Br2/src/ARTransactionFeeDto2.java (from /Trunk/src/ARTransactionF
eeDto2.java:6)
。。。但无法将此类更改移植到trunk,因为该文件已经存在:

r5 | rohit | 2013-03-05 16:22:26 +0530 (Tue, 05 Mar 2013) | 1 line
Changed paths:
   A /Trunk/src/ARTransactionFeeDto2.java (from /Branches/Br1/src/ARTransactionFeeDto2.java:4)

Subversion提供了非常复杂的方法来避免它,但我建议您只使用TortoiseSVN进行合并,当r7中出现冲突提示时,您选择保留本地文件(无论如何与传入文件相同)。

我尝试遵循这些步骤(在没有可用的实际命令列表的情况下尽可能地接近)有了SVN1.7,它似乎像我期望的那样工作

我认为它可能不适合您,因为在将分支合并回主干时需要使用“--reintegrate”选项。您确定每次从任一分支合并回主干时都使用了此选项吗


如果您确实使用了该选项,请忽略此答案。

如果合并树中的文件仅在不同部分同时重命名和编辑,则SVN中可能存在树冲突,请确认。。。你通常会得到一个详细的解释:-?@lvaroG.Vicario-不,我没有得到任何树冲突的解释好吧,你的命令与描述不同-我在本例中的测试与问题无关:你添加的ArtTransactionFeedTo2.java在合并回之前在B2的r8中编辑trunk@LazyBadger-命令与描述相同。是的,文件是在r8中编辑的,但即使我不编辑,结果也是一样的。结果是一样的。我是否犯了任何错误,我每次都会遇到树冲突。嗨,獾,我已经更新了所有回购活动的问题。我还没有尝试过v1.7。因为我需要按照我所在组织的当前版本在v1.6上工作。我的目标是将所有更改从Trunk升级到Br2。然后将我所有的Br2更改合并回主干@Álvaro-在
r7
中,文件从主干添加到Br2;在
r8
中,在Br2中修改;Br2合并回主干并显示树冲突。在这里,当我将本地副本保存在主干中时,所有的Br2更改都会丢失。不,我没有使用
--重新集成
选项,因为在我的情况下,分支将用于进一步的开发,合并将从主干->分支和分支->主干中进行。请重新测试-很容易产生错误的工作流:我有它,后来我无法避免最新TSVN中的“树冲突”
>svn log -v file:///Z:/Repo/
------------------------------------------------------------------------
r10 | Badger | 2013-03-05 17:32:32 +0600 (Вт, 05 мар 2013) | 2 lines
Changed paths:
   M /trunk
   M /trunk/Base.txt
   M /trunk/C1.txt
   M /trunk/C2.txt

Merge from branches/b2:

------------------------------------------------------------------------
r9 | Badger | 2013-03-05 17:27:42 +0600 (Вт, 05 мар 2013) | 1 line
Changed paths:
   M /branches/b2/Base.txt
   M /branches/b2/C1.txt
   M /branches/b2/C2.txt

Anfanglichen Deutsch Korperregion
------------------------------------------------------------------------
r8 | Badger | 2013-03-05 17:19:28 +0600 (Вт, 05 мар 2013) | 2 lines
Changed paths:
   M /branches/b2
   M /branches/b2/Base.txt
   M /branches/b2/C1.txt
   M /branches/b2/C2.txt
   A /branches/b2/Reference.txt (from /trunk/Reference.txt:7)

Merge from trunk

------------------------------------------------------------------------
r7 | Badger | 2013-03-05 17:15:29 +0600 (Вт, 05 мар 2013) | 1 line
Changed paths:
   M /trunk
   M /trunk/Base.txt
   A /trunk/Reference.txt (from /branches/b1/Reference.txt:6)

Merge B1 branch changes
------------------------------------------------------------------------
r6 | Badger | 2013-03-05 17:12:26 +0600 (Вт, 05 мар 2013) | 1 line
Changed paths:
   M /branches/b1/Base.txt
   A /branches/b1/Reference.txt

Structure reflected
------------------------------------------------------------------------
r5 | Badger | 2013-03-05 17:09:46 +0600 (Вт, 05 мар 2013) | 1 line
Changed paths:
   M /trunk/C1.txt
   M /trunk/C2.txt

Edition 1
------------------------------------------------------------------------
r4 | Badger | 2013-03-05 17:06:38 +0600 (Вт, 05 мар 2013) | 1 line
Changed paths:
   A /branches/b2 (from /trunk:3)

Branching for task2
------------------------------------------------------------------------
r3 | Badger | 2013-03-05 17:05:49 +0600 (Вт, 05 мар 2013) | 1 line
Changed paths:
   A /branches/b1 (from /trunk:2)

Branching for task1
------------------------------------------------------------------------
r2 | Badger | 2013-03-05 17:03:21 +0600 (Вт, 05 мар 2013) | 1 line
Changed paths:
   A /trunk/Base.txt
   A /trunk/C1.txt
   A /trunk/C2.txt

Basic set
------------------------------------------------------------------------
r1 | Badger | 2013-03-05 16:59:36 +0600 (Вт, 05 мар 2013) | 1 line
Changed paths:
   A /branches
   A /tags
   A /trunk

Imported folder structure
------------------------------------------------------------------------
r7 | rohit | 2013-03-05 16:29:34 +0530 (Tue, 05 Mar 2013) | 1 line
Changed paths:
   A /Branches/Br2/src/ARTransactionFeeDto2.java (from /Trunk/src/ARTransactionF
eeDto2.java:6)
r5 | rohit | 2013-03-05 16:22:26 +0530 (Tue, 05 Mar 2013) | 1 line
Changed paths:
   A /Trunk/src/ARTransactionFeeDto2.java (from /Branches/Br1/src/ARTransactionFeeDto2.java:4)