subversion起步

SVN服务器也建好了,Tortoisesvn客户端也安装好了,下面就可以开始使用SVN了。通过cvs2svn转过来的Repository可以直接用,但如果要新建一个Repository,导入现有的项目,就要稍微麻烦一些了,甚至有些绕,大致步骤如下:

  1. 在服务端的SVN parent目录下,建立一个空的repository,可以使用svnadmin create –fs-type fsfs MyNewRepository命令,也可以使用Tortoisesvn的TortoiseSVN->Create Repository Here …命令。
  2. 在客户端建立一个repo目录,并且在下面建三个空目录,分别是branches、tags、trunk,其中branches用来保存分支,tags用来保存标签(?不知道这个叫法是否正确),trunk用来保存当前工作状态的文件。这个目录结构也可以采用其它方式建立,详细的说明在TortoiseSVN的帮助的“5.2. Importing Data Into A Repository ”中有更详细的解释。
  3. 使用TortoiseSVN客户端工具,把repo目录Import(导入)到服务端,服务端地址为domain.com/svnparentpath/MyNewRepository。这样我们就建立了这个Repository的目录层次。Revision编号为0。
  4. 删除repo目录下的三个空目录,把要导入的项目文件拷贝到这个目录下,当然也可以直接使用其它的目录。
  5. 使用TortoiseSVN客户端工具,把repo目录下的内容(已有项目文件)Import(导入)到服务端,和上次导入不同的是,上次是建立目录结构,而这次是导入项目文件,因此服务端地址为domain.com/svnparentpath/MyNewRepository/trunk,注意最后多了个trunk,也就是说现在导入的内容是作为工作状态的文件存在的,以后才可以根据需要在这个基础上建立tags或branches。
  6. checkout服务端的domain.com/svnparentpath/MyNewRepository/trunk到某个目录,我们就可以开始工作了。

在这里有一个比较绕圈的概念,那就是SVN的branches和tags是用“copy”的方式建立的,给用户的感觉就是拷贝了一个副本,所以我们分别建立了三个目录来保存他们,而日常的工作都在trunk下进行。而在CVS中,branches和tags都是附加在现有文件之上的,你的文件只“保存”一份,至少感觉上是这样的。

Leave a Reply

Your email address will not be published. Required fields are marked *