在工作中,我们将所有客户项目保留在subversion存储库中,并且在可预见的未来不会改变它。我们的许多项目使用相同的插件/模块,我们也开源其中一些并在我们自己的github帐户上共享它们。
我想做的是:
- 使用subversion中的所有代码维护一个客户端项目
- 任何开发人员都可以将任何远程/ github存储库中的插件/模块添加到项目中
- 任何开发人员都能够对github repos进行更改,并将它们添加到项目的svn repo中(按项目逐个项目,而不是一次性完成)
- 能够对从github repos中提取的代码进行项目特定的调整,这些代码不会被推回到github或影响从github提取更改的能力
- 具有所需ssh密钥的开发人员可以将对github上的代码的本地更改推送回github,因此任何错误修复或对使用插件/模块的所有项目都有益的新功能也可以将其拉下来。
这可能吗?如果是这样,怎么样?
我可以结合使用以下组件来完成此操作:
- 供应商在svn repos中为每个外部github存储库分支,以保持github上可重用代码的分离和项目的调整代码。
- 将.git文件夹提交到svn repo中的供应商分支,以使任何人都可以获取最新的更改。