0

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

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

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

bitkeeper 是否有相当于 'svn:externals' 或 'git-submodule' 的功能?这可以通过客户端后克隆挂钩来完成吗?如何?

编辑:好的。我想我知道如何做到这一点。如果您需要将公共 ip-reuse repo 拉入 Subversion 和 BitKeeper,您需要在 Subversion 中拥有公共重用 repo,以便您可以使用 'svn:externals' ,如 emk 所示。对于 BitKeeper,您需要创建一个传入后触发器,该触发器知道从 subversion 服务器执行结帐命令。

4

1 回答 1

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 合并。(如果您使用的是 Subversion 1.5,这会更容易。如果您使用的是 Subversion 1.4,则需要手动应用补丁。)

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

于 2009-03-25T15:19:14.843 回答