2011-03-01 87 views
3

使用SVN,我正在考虑使用SVN导出命令将第一个版本(版本1.0)发布到生产服务器。然后?如何升级?

升级的下一步是什么?例如,如果我想释放下一个将会是1.1的版本,应该怎么做?在不删除所有文件的情况下,是否有办法从标签升级?

回答

6

一般释放步骤:

  1. Create a Tag从主/测试分支。这是已发布的代码。没有分支就不能修改。这是1.0版本。您在生产服务器上构建并部署此代码。

  2. 在主分支(trunk)中继续编码版本1.1。在v1.1结束时,您将创建另一个标签,它将成为发布版本1.1。等等。

理想情况下,每发布一个标签。如果有固定的版本必须转到先前发布的版本,那么从该标签(例如1.0)中(1)create a branch,(2)将问题修复到分支中,(3)从该分支中​​创建另一个标签作为发布版本1.0.1

请注意,在整个过程中没有文件被删除。您只需创建新的分支,即您的代码库的cheap-copies


更新

但后来我怎样才能升级到标签生产1.1吗? SVN导出会覆盖现有文件并删除标签1.1中删除的文件吗?这是我的担心。

两件事情

  1. 出口确实从任何地方删除任何文件。它下载一个干净的副本(没有.svn和其他特定于SVN的东西)作为参数提供给它的URL。看到这里svn export

  2. creating a branch或标签,你应该复制。而不是导出,然后是导入。最常见的发布流程看起来像下图:(对不起,可怜的艺术)

SVN仓库各国时间

             /---> Tag 1.0.1(release to prod) 
        /--- Branch 1.0.1 for spot-fixes----| 
       /         | 
      /---Tag 1.0 (released to prod)    v (merge fixes) /---Tag 1.1 (released to prod) 
Trunk ----->'------Development for v1.1----------------'----------------->'----Development for v1.2--> 

没有什么东西是不断删除,您有标签每次发布。

+0

但后来我怎么样可以升级到1.1标签中生产? SVN导出会覆盖现有文件并删除标签1.1中删除的文件吗?这是我的担心。 – CIF 2011-03-02 22:04:23

+0

@WSM更新了答案 – Nishant 2011-03-03 04:53:43