如何将共享IP合并到多个项目中,同时仍允许轻松分支?

时间:2009-03-25 15:04:44

标签: svn version-control bitkeeper

如果不访问git和git-submodule,我需要将shared-ip存储库合并到两个单独的项目存储库中,同时最大限度地减少分支的开销。任何一个项目的人都需要能够轻松地分支他们项目的主线干线,同时还要分支共享IP回购。如果/当用户修改shared-ip repo并且他们准备将他们的编辑重新合并到他们项目的主线主干中时,他们的编辑也将针对其他项目的主线进行回归,以确保他们的编辑与这两个项目兼容。

我知道这对git来说相对容易(除了持续集成到项目主线中的机制 - 自制脚本),但在Subversion和Bitkeeper中是否有一种简单的方法可以做到这一点?

编辑: 'svn:externals'几乎解决了我的颠覆问题,但是如果外部存储库不在Subversion中会怎么样。

对于bitkeeper,是否有等效的'svn:externals'或'git-submodule'?这可以通过客户端后克隆挂钩来完成吗?怎么样?

编辑: 好。我想我想出了如何做到这一点。如果你需要将公共ip-reuse repo同时引入Subversion和BitKeeper,你需要在Subversion中使用公共重用repo,这样你就可以像emk指示的那样使用'svn:externals'。对于BitKeeper,您需要创建一个传入后触发器,它知道从subversion服务器执行checkout命令。

1 个答案:

答案 0 :(得分:1)

在Subversion中,您可以使用Subversion externals,也可以在Subversion树中简单地复制必要的目录:

svn cp svn+ssh://.../libs/foo/trunk svn+ssh://.../projects/bar/trunk/libs/foo

要在本地修改代码,只需提交到projects / bar / trunk / libs / foo。

有趣的部分是从lib / foo / trunk合并新的更改。在这种情况下,您希望继续进行正常的Subversion合并。 (这将是easier if you're using Subversion 1.5。如果您使用的是Subversion 1.4,则需要手动应用补丁。)

不幸的是,我没有使用BitKeeper的经验。