【发布时间】:2011-01-10 11:40:56
【问题描述】:
在工作中,我们将所有客户项目保留在 subversion 存储库中,并且在可预见的将来不会改变这一点。我们的很多项目都使用相同的插件/模块,我们还开源了其中一些并在我们自己的 github 帐户上共享它们。
我想做的是:
- 使用 subversion 中的所有代码维护一个客户端项目
- 任何开发人员将插件/模块从任何远程/github 存储库添加到项目中
- 任何开发人员都可以提取对 github 存储库所做的更改并将其添加到项目的 svn 存储库中(逐个项目,而不是一次全部)
- 能够对从 github 存储库中提取的代码进行项目特定的调整,这些代码不会被推回 github 或影响从 github 拉取更改的能力
- 具有所需 ssh 密钥的开发人员可以将 github 上代码的本地更改推送回 github,因此任何对使用插件/模块的所有项目都有益的错误修复或新功能也可以将它们拉下来。
这可能吗?如果有,怎么做?
我可以通过以下组合来做到这一点:
- 供应商在 svn 存储库中分支,每个外部 github 存储库都有一个供应商,以保持 github 上可重用代码和项目调整代码的分离。
- 将 .git 文件夹提交到 svn 存储库中的供应商分支,以使任何人都可以提取最新的更改。
【问题讨论】:
-
P.S.我对 svn 很熟悉,但对 git 不是很熟悉——只是设法克隆、添加、提交和推送