在SVN中,是否有一种严格的方法来单独合并每个更改?

在SVN中,是否有一种严格的方法来单独合并每个更改?,svn,merge,Svn,Merge,我有一个长期运行的特性分支,它已经与主干不兼容了——有很多二进制文件在两侧都被修改过,所以我在wazoo中找到了树冲突 在过去,当我们遇到这些问题时,我们只是将分支彼此区分开来,使用一个diff工具将所有更改混合到主干中,然后提交一个巨大的分支,从feature branch commit中提交所有更改。这就完成了任务,但由于它不是一个正确的合并,我们丢失了受影响文件的复杂历史记录 我想尝试一种不同的方法,基本上是git风格的重基,但对于SVN,每次更改都会重新应用到主干之上。所以基本上我在寻找

我有一个长期运行的特性分支,它已经与主干不兼容了——有很多二进制文件在两侧都被修改过,所以我在wazoo中找到了树冲突

在过去,当我们遇到这些问题时,我们只是将分支彼此区分开来,使用一个diff工具将所有更改混合到主干中,然后提交一个巨大的分支,从feature branch commit中提交所有更改。这就完成了任务,但由于它不是一个正确的合并,我们丢失了受影响文件的复杂历史记录

我想尝试一种不同的方法,基本上是git风格的重基,但对于SVN,每次更改都会重新应用到主干之上。所以基本上我在寻找一个有效的过程,也就是说,半自动地将功能分支中的每个更改一次一次地合并到主干上,并将它们合并,这样主干就再次包含完整的更改列表历史。有人能建议这样一个过程吗


我还应该提到,我在Windows上,以防万一。

您可以将每个文件还原到以前的任何版本
如果是,你在寻找什么

当您在Subversion中合并时,您可以合并整个分歧的历史,也可以只合并其中的一部分。最新的版本是svn帮助合并中的“樱桃选择合并”,您甚至可以樱桃选择单个修订版。我希望您记住这种方式,并且仅修订版的连续svn合并-c修订版合并更改将满足您的要求

您可以使用svn mergeinfo-show修订版来查找要合并的修订版。然后使用svn merge-c REV合并每个修订。还可以签出-accept选项进行合并。这可以帮助您自动解决二进制文件冲突的问题

如何高效地还原每个单独的文件[sp],即半自动合并?单独还原每个文件没有任何效率或半自动化的方法。您无法标记多个文件并对其执行此操作?这是此处提出的问题,您在帖子中没有回答。请简单地尝试。标记n个文件,右键单击上下文菜单,还原为。就答案而言,我提供了一半完整但仍然正确的答案。手动选择revert,自动部分由svn完成。这里没有提到龟VN,只是说svn。SVN是一组命令行工具,没有右键单击上下文菜单或任何标记。半完成是不正确的。如果你没有一个完整的答案,不要发布任何东西,或者准备接受你因为这样做而收到的反对票。所以听起来我必须自己写一个脚本来完成这项工作,是吗?但这个答案为我提供了这样做所需的输入。谢谢