相关疑难解决方法(0)

在SVN中合并一系列修订与重新整合之间有什么区别?

我已经阅读了一些文档和博客,关于合并一系列修订和重新整合之间的区别,但我没有得到一件事.

如果我选择一种或另一种方式从分支合并到主干,合并有什么区别?为什么合并一系列修订在某些情况下不起作用,但重新整合成功合并分支到主干?

svn

39
推荐指数
2
解决办法
1万
查看次数

TortoiseSVN Tree Conflict:无法选择远程文件

这是场景:

  • User1,Branch1:添加"abc.def"; 提交.
  • User2,Branch2:添加"abc.def"(文件名相同,但文件中有更多细节); 提交.

现在User1想要合并"abc.def"文件的更新版本.所以(使用TortoiseSVN 1.7.10),User1在Branch1的工作副本中启动,选择Merge...- > Reintegrate a Branch,然后选择Branch2并选择Merge.可以预见的是,"树冲突"的结果是这样的:

最后一次合并操作尝试从Branch2添加文件'abc.def',但该文件已在本地添加.你想如何解决这个冲突?

但唯一的选择是标有单个按钮Keep the local file.没有选择远程文件的选项,这是User1真正想要的.

在此输入图像描述

我在这里做错了什么,我该如何解决?更具体地说,如何将User2的文件版本导入Branch1?

(当然,我确信User1可以在合并之前手动删除该文件,但这会消除User1可能想要保留的任何历史记录.此外,它只是一个笨重的工作流程,特别是在这种困境中存在大量文件时.)

不幸的是,在TortoiseSVN关于树冲突的文档中甚至没有提到这种情况

更新:

除了选择" Reintegrate a Branch"我还试过" Merge a Range of Revisions"和" Merge two different trees".对于后一种情况,我选择远程分支(Branch2)作为"开始",将本地分支作为目标(Branch1; 在添加文件之前选择修订版.)我在所有情况下得到了相同的结果:树冲突没有选择文件的User2版本的选项.

更新#2:

根据文档,应该在"合并进度对话框中有一个名为"的复选框Merge non-interactive,如果未选中,则应该在合并期间打开"合并冲突回调对话框".但是,我在合并过程中找不到任何此类复选框.它在哪里?

tortoisesvn merge tree-conflict

10
推荐指数
1
解决办法
464
查看次数

重新整合分支而不合并主干更改

我用乌龟svn.但总的来说,我对svn还是比较新的.我有一些git的经验.

在文件中说

重新整合分支

这个方法涵盖了Subversion书中讨论的功能分支的情况.所有主干更改都已逐周移植到功能分支,现在功能已完成,您希望将其合并回主干.

据我所知:功能分支的正常工作流程是,要创建一个功能分支,在其上进行开发,经常在主干分支上的错误修正的修订范围内合并.功能完成后,最后合并主干更改,然后将分支重新集成到主干中.

所以我有一些问题:

  1. 此工作流程是否正确
  2. 如果在重新集成功能分支之前未合并来自主干分支的更改,会发生什么情况
  3. 如果我从完全更新的功能分支到主干分支进行正常合并会发生什么
  4. 为什么这么复杂,svn意味着比git更友好,但特别是合并,你必须指定合并到功能分支的修订版本,从不同的合并选项中选择似乎比等效的git功能更复杂(我必须在我的公司使用svn,因为其他开发人员使用它,但他们没有分支),除非我做错了什么

svn tortoisesvn merge feature-branch

1
推荐指数
1
解决办法
1576
查看次数

标签 统计

merge ×2

svn ×2

tortoisesvn ×2

feature-branch ×1

tree-conflict ×1