SVN樱桃挑选问题 - 合并

时间:2016-10-17 13:33:14

标签: svn version-control merge tortoisesvn

简介

我的问题部分基于q / a @ TortoiseSVN cherrypicking说明。 我能够毫无问题地挑选git,但在目前的团队中我们使用SVN。

我在trunk上有一个提交,我想复制到一个分支。我不想将一个分支合并到另一个分支中,或者将主干合并到分支中,或者将分支合并到主干中,或者包括将变更历史从一个转移到另一个的任何分支。

我正在使用trortise SVN

第1步:我转到处理已更改文件的特定文件夹

第2步:选择合并

enter image description here

第3步:从一系列修订中合并 enter image description here

第4步:合并选项 enter image description here

问题

据说合并发生但我发现目录中的实际单个java文件尚未使用trunk的更改进行更新。

此外,唯一指示更改的内容是当我转到提交时指示文件夹的属性已更改。但是,我对提交这些内容不感兴趣,因为我已经指示不提交文件夹属性更改

enter image description here

这非常令人沮丧,一些使用intelli-j的同事似乎能够非常轻松地执行此操作...例如,将特定文件/更改从working code提交到另一个分支。

更新:我的解决方法是切换到Intelli-j

我不太喜欢tortoise svn对待selective merging的方式。我切换到intelli J并概述了我如何做我需要做的事情。我也意识到cherry pickingselectively merging的关系不是很多。 这意味着也会出现冲突并需要解决。它不如git那么大。

enter image description here enter image description here

按照这两个步骤/屏幕,intelli-j会要求您解决冲突(如果存在)。然后,它会创建一个包含已合并的特定文件的更改列表。然后你提交。

1 个答案:

答案 0 :(得分:1)

乌龟完全按照你的要求去做;只有记录合并发生但没有执行实际合并。这是该选项在步骤4中的图片(来自the command-line tool's description of the option):

  

启用svn merge的特殊模式,其中指定的合并操作记录在本地合并跟踪信息中,但实际上并未执行。

SVN记录合并的方式是在该文件/文件夹的svn:mergeinfo属性中存储有关源URL和revsion的信息,这就是您看到文件夹属性修改的原因。

如果您未选中此项,则会按照您的预期进行合并。

相关问题