切换svn工作副本以提交到两个不同的服务器

时间:2013-07-26 10:31:06

标签: svn ubuntu

Good Day Stackoverflow

我的本​​地计算机上有我的管理系统的SVN工作副本。

从我们的生产服务器检出工作副本。因此,来自我或我的队友的任何提交都会转到生产服务器仓库。

我想要做的是在我们的开发服务器上使用生产服务器代码创建一个repo。这样我和我的队友就可以将所有内容都交给开发盒了。当我们对代码感到满意时,我希望将本地存储库切换为提交到生产服务器

这样的事情是否可能。如果是这样......怎么样?

2 个答案:

答案 0 :(得分:2)

为什么生产有版本控制系统,而不是开发人员?

版本控制适用于开发人员。您应该能够签出,更新,更改代码,添加功能,犯错误,做蠢事等等。这是版本控制的用途!

生产,如果他们从Subversion存储库中获取代码,应该从标签中检出代码。标签是您希望世界看到的。通过仔细和严格的测试,您希望通过错误,错误和其他笨蛋来清除它。

从生产中移动您的Subversion存储库,并将其放入您的开发环境中。也就是说,除非你的意思是生产它正在备份和维护 - 不是生产环境中的人(如客户)实际上使用Subversion。在这种情况下,让存储库保持生产,但开发人员不应该害怕使用它。

有些网站严格使用 trunk 作为发布代码。这不是一个好主意。发布代码应放在标记目录中。主干和分支是供程序员进行编程

答案 1 :(得分:1)

虽然在单个服务器上使用分支是更易于管理的方式,但您可以拥有两个存储库并根据请求在它们之间切换

  1. 创建完整的生产转储(svnadmin dump PROD-PATH > DUMPFILE
  2. 创建DEVEL回购(svnadmin create DEVEL-PATH
  3. 将PROD加载转储到DEVEL(svnadmin load DEVEL-PATH --force-uuid < DUMPFILE)。 --force-uuid 是强制性的,以便在两个repos中具有相同的UUID(从而允许在存储库之间重新定位单个WC),“svnadmin create”为DEVEL分配了唯一的UUID
  4. 将WCs重新安置到DEVEL
  5. 代码提交测试...
  6. 为了将代码返回PROD

    1. 获取干净的WC,更新至DEVEL HEAD
    2. 将WC重新安置到PROD
    3. 将WC更新为PROD HEAD,合并更改
    4. 承诺所有从DEVEL累积的更改,作为一个“大爆炸”承诺PROD
    5. 转到第I部分,第4步