所以,我已经很熟悉了:
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(与当前相同)
现在,假设您有两个版本的自己的“计算”应用程序:
calc(这本质上是trunk == calc 2.0)
calc-1.0(向公众发布)
假设 calc-1.0 使用 libcomplex 1.0,而 calc(在主干中)使用仍在开发中的 libcomplex 1.1。
libcomplex 1.0 中有一个错误,并且发布了一个新版本来修复该错误:libcomplex 1.0.1。libcomplex 维护者也将此错误修复包含在 libcomplex 1.1 中。
您还没有准备好发布 calc 2.0,因此您需要将 libcomplex 1.0.1 集成到您的供应商分支中,然后更新 calc-1.0 以发布错误修复版本。
它去哪儿了?
你不能把它放在 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。