2

对于新产品发布,我们计划了以下服务器/发布结构。

发布结构

由于不同的管理原因,现在拥有两个不同的 SVN 存储库是最终的管理决定;一个在 Anazon EC2 上运行的生产服务器(产品 SVN 以红色显示)。其他在本地 Linux 服务器上(绿色)。

我被困在如何在技术上实现这一目标。我的问题是,本地服务器代码库(Scaling codebase在上图中)应该从本地 SVN 更新,但应该提交到生产 SVN。我找不到实现这一点在技术上是否可行。在我寻找其他选择之前,我想问问社区在技术上是否可行,如果可以,如何?

4

3 回答 3

3

与之前的答案相反

用于工作流的纯 SVN 方式

带圣洁厕所

svn up
svn relocate ProdSVN
svn ci
svn relocate LocalSVN

没有圣洁的厕所

如果可以直接连接 LocalSVN -> ProdSVN,则可以将 SaclingCodebase从同步过程中排除(链更少,错误更少):

或者

或者

于 2012-10-13T13:48:06.260 回答
1

从本地 SVN 更新,但应提交到生产 SVN。

这是 Bazaar、Git 或 Mercurial 等分布式版本控制系统 DVCS 的常见功能。

所以,在我看来,有两个解决方案:

1/ 如果您仍想保留 SVN:使用 Bazaar/Git/Mercurial 签出 SVN 存储库并推送/提交到另一个 SVN 存储库。
这是可能的,因为大多数 DVCS 工具都有一个插件来访问(签出/推送)SVN 存储库。

2/将您的系统更改为像 Bazaar 这样的完整 DVCS,它与 SVN 非常接近,不会丢失用户!

看看我的以下回复:
多个源代码存储库

于 2012-10-13T10:58:03.877 回答
1

这样做的一种方法是只拥有一个存储库(可能在绿色服务器上),并在生产服务器上签出该存储库的发布分支。

所以工作流程是:

在 dev 上签出(或主干的功能分支),然后从to^/trunk中挑选修订版。^/trunk^/branches/release

于 2012-10-13T11:06:23.860 回答