快速配置与使用SVN服务器

    对于Eclipse中的SVN工具大家并不陌生,但说起Subversion服务器环境的搭建,大家也许会觉得有些陌生。这里我给出了搭建 Subversion服务器的快速步骤及可能会遇到的问题,帮助大家轻松完成自己SVN版本管理。本文可分为两大部分,一是windows环境下使用桌面客户端工具来搭建SVN服务器环境,二是EclipseSVN插件的使用。文中有部分内容引自subversion中文站,感谢他们的创作。

  • 使用桌面客户端工具搭建SVN服务器环境

1. 软件下载

     Subversion服务器可以到官方网站下载,也可以直接点击下载svn-1.4.0-setup.exe
     TortoiseSVN是在window环境下使用的Subversion客户端,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi
           
             2. 
软件安装   

       服务器安装,直接运行svn-1.4.0-setup.exe,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。安装TortoiseSVN,同样直接运行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。     

              3. 建立版本库

        运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,
们可以使用TortoiseSVN图形化的完成这一步:在目录E:"subversion"repository"右键->TortoiseSVN->Create Repository here...“然后可以选择版本库模式,使用默认即可,然后就创建了一系列目录和文件。

             4.  配置用户和权限

        来到E:"subversion"repository"conf目录,修改svnserve.conf
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd
然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret

        注意:去掉#号后,要使当前行顶格,不要留在行头留出空格来;否则,会在创建版本数据库时出错

         5.  运行独立服务器

         进入命令提示符,输入svnserve -d -r E:"subversion"repository,我们的服务器程序就已经启动了。

          注意:不要关闭命令行窗口,关闭窗口也会把svnserve停止。

        6A. 建立trunk目录

        在地址栏输入svn://localhost/后回车,则会弹出‘Repository Browser' 对话框

       可以在对话框中创建新的目录trunk,然后添加源代码(添加源代码这个动作也可以在6B中实现,更为方便)

       6B. 添加源工程文件

       来到我们想要导入的项目根目录,本例中是E:"subversion"projects,目录下有两个需要导入的工程文件夹:在空白处右键->TortoiseSVN->Import... 在弹出对话框的URL of repository框中输入“svn://localhost/” 然后确认。完成之后目录没有任何变化,导入过程中会在在弹出的对话框中显示导入文件的信息,这样就可以将当前目录下的所有文件都导入到我们刚定义的版本库中。
      
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/”

   至此,SVN 服务器端配置完毕,你也可以点击此处观看动画教程下面便可以凭借Eclipse下的svn客户端插件来对源工程进行同步开发。

  • EclipseSVN插件的使用

       Eclipse SVN插件我用过的有SVNkit SubEclipse关于它们的使用方法,我在这里只介绍下针对刚才服务器端的配置,我们在checkout时的几项设置,如下:
URL:svn://localhost
User:harry
Password:harryssecret
   
大家要学习它们的用法,可以通过搜索网站获得更详尽的资料,我不再赘述,但有一点需要特别指出:
因为刚才服务器端的Subversion 版本较新,而我当时用的SVNKit插件版本为1.1.1,在commit代码时,总会抛出'Malformed network data' (畸形的网络数据)异常,但事后更新代码,却又发现它已经更新成功。所以如果是在装了以上Subversion1.4版本的服务器情况下,还是推荐使用SubEclipse的最新版本。

资源库:

<svn://localhost:3690> c27b875b-1052-cc4c-b0f9-db9c84fdcd78