我有一个长时间运行的功能分支,它已经与主干不兼容 - 有很多二进制文件已经被双方修改过,所以我在wazoo中遇到了树冲突。 / p>
过去当我们遇到这些问题时,我们只是将分支相互分开,使用差异工具将所有更改混合到主干中,然后提交了一个巨大的&#34 ;来自功能分支的所有更改"承诺。这可以完成工作,但由于它不是合适的合并,我们会丢失受影响文件的错综复杂的历史记录。
我想尝试不同的路线,这基本上是一种git风格的" rebase"但是对于SVN,每次更改都会重新应用在主干上。 所以基本上我正在寻找一个有效(即半自动)的过程,将每个变化从功能分支一次一个地合并到主干并进行组合,以便主干再次包含完整的更改列表历史。任何人都可以建议这样的过程吗?
我还应该提一下,我在Windows上,以防万一。
答案 0 :(得分:1)
在Subversion中合并时,可以合并整个分歧历史记录或仅合并其中的一部分。最新的是所谓的" cherry-pick"在svn help merge
中合并,您甚至可以选择单一版本。我希望,你有这种方式,连续svn merge -c REV
(仅从修订版REV合并更改)将满足您的要求
答案 1 :(得分:1)
您可以使用char
查找要合并的修订。然后使用svn mergeinfo --show-revs eligible
合并每个修订版。另请查看svn merge -c REV
的{{1}}选项。这可以帮助您自动解决冲突(二进制)文件的问题。
答案 2 :(得分:-2)
您可以将每个文件专门还原为任何先前的修订版 如果这是,你在寻找什么。