http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html 我的问题是如何处理一个供应商分支,它既有稳定版又有你想要集成的 alpha/beta 分支?
假设你按照 SVN 书中的原始示例进行操作。你会有:
svn://localhost/home/svn/vendor/libcomplex/current svn://localhost/home/svn/vendor/libcomplex/1.0 svn://localhost/home/svn/vendor/libcomplex/1.1(与 current 相同)
现在,假设你有两个版本的自己的 'calc' 应用程序:
calc(这基本上是 trunk == calc 2.0) calc-1.0(发布给公众)
假设 calc-1.0 使用 libcomplex 1.0,而 calc(在 trunk 中)使用正在开发的 libcomplex 1.1。 libcomplex 1.0 中有一个 bug,发布了一个新版本来修复该 bug:libcomplex 1.0.1。libcomplex 维护者还将此 bug 修复内容包含在 libcomplex 1.1 中。
你还没有准备好发布 calc 2.0,因此需要将 libcomplex 1.0.1 集成到你的供应商分支中,然后更新 calc-1.0 以发布 bug 修复版本。
它应该放在哪里?
你不能将其放在 svn://localhost/home/svn/vendor/libcomplex/current,因为 1.1 目前在那里。
你是否将 svn://localhost/home/svn/vendor/libcomplex/1.0 复制到 svn://localhost/home/svn/vendor/libcomplex/1.0.1,然后再引入新版本?这样你就可以使用 SVN 来合并 1.0 和 1.0.1 之间的差异到 calc-1.0 中。