2008-09-19 54 views
6

对不起,我是SVN的新手,我为此看了一下。你如何标记SVN中的主要版本,就像设置一个还原点。现在我只是设置我的服务器并添加了所有文件 - 我一直在间断地进行不同的更改。当我有一个稳定的状态时,是否有一种方法可以标记出来,以便我可以在必要时轻松恢复它?SVN mark主要版本

回答

11

的典型方法是在你的仓库的根目录下创建一个“标签”目录并将整个中继复制到该目录。 (复制是颠覆便宜,因为它只是添加到现有文件的特定修订的引用。)

所以你可能会说:

svn cp http://svn.example.com/trunk/ http://svn.example.com/tags/major-revision-01/ 

更多的信息,特别是tags章见the Subversion book

0

尝试阅读本页svn copy。基本上你只需要做一个svn副本

1

如果你使用svn标准结构,你应该有一个分支,标签和中继文件夹。

您正在做的是将当前主干的副本复制到标签中的文件夹中。

实施例的命令行:

SVN复制mysvnurl/myproject的/中继线mysvnurl/myproject的/标签/ majorrelease_01

0

在CVS中,这被称为 “标签”。 SVN不使用单独的标签机制,它只是创建一个分支。因此,只需创建一个新分支,并为其指定一个描述性名称,如“release-1.2”。

另外,懒惰的方法是记下当前存储库版本号在一个文本文件;)

+0

哇靠,4名以上回答它带我去写的时间。 – MrZebra 2008-09-19 14:18:45

3

我们所要做的是,我们创建一个分支。我们有标准的根级目录:主干,标签,发行版,分支。

要记住的主要问题是,所有分支就像创建一个副本,并且所有分支关闭树干就像创建一个副本(除了它是一个浅拷贝,只复制三角洲)。

对于我们来说,所有的开发工作都是在后备箱中完成的。如果有人正在做重大的返工,那么往往会把它放在分支机构中。主要版本被放入发布中,并且我们要标记的所有其他标签和项目都放置在标签文件夹中。

对于我们的版本中,我们有以下的目录结构:

repository 
+--trunk 
+--releases 
    +--v1.0 
    +--v1.1 
    +--v1.4 
    +--v2.0 
+--branches 
+--tags 
0

这里的另一个有益的观点。使用CruiseControl(或CruiseControl.NET)以固定的时间间隔(即夜间,或每15分钟)

Get A Build Process Now!