Winxp下搭建SVN服务器

时间:2022-04-26 16:11:56

本文介绍一种在winxp下搭建SVN服务器的方法。

(1) 需要下载Slik-Subversion和TortoiseSVN两个软件。我使用的版本是Slik-Subversion-1.8.3-1-win32.msi和TortoiseSVN-1.7.2.22327-win32-svn-1.7.2.msi。

(2) 在本地创建目录(G:\SVN),作为自己今后项目文件保存的目录。

(3) 创建版本库:
  第一种方式:在cmd命令行中运行svnadmin create G:\SVN\
  第二种方式:在SVN目录中,单击鼠标右键,选择[TotoiseSVN]->[create repository here]进行创建,
  以上工作完成后,在test_repo目录中可看到以下内容:4个目录,两个文件。
  其中:
    conf目录存放配置信息;
    db目录就是所有版本控制的数据文件;
    hooks目录放置hook脚本文件的目录;
    locks用来放置Subversion文件库锁定数据的目录, 用来追踪存取文件库的客户端;
    format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;
  进入conf目录,有三个文件需要配置
  svnserve.conf    
  [general]    
      anon-access = none  (注意段首没有空格)  
    auth-access = write (注意段首没有空格) 
      password-db = passwd (注意段首没有空格) 
      authz-db = authz (注意段首没有空格) 
  这个文件有若干的选项,上文中引用的部分为比较基本的几个选项,主要是控制访问权限的。
  authz
  [/]
  test= rw
  password
  [users]
  test= 123456
  另外两个文件分别是authz和password,里面的内容如上述。主要的含义是创建了一个用户,名字为test,其密码为123456,对整个版本库的根目录有读写权限。

(4) 创建及启动SVN服务
  打开cmd,使用sc创建windows服务,将当前目录指向到Subversion的bin目录下,输入: sc create SVNService binpath= "C:\Program Files\SlikSvn\bin\svnserve.exe --service -r G:\SVN " displayname= "SVNService" depend= Tcpip start= auto(特别注意=后面有空格)
  至此,服务器端的版本库已经建立完毕了。

(5) 在其他电脑使用Tortoise,客户端基本操作
  取出版本库到一个工作拷贝: 来到任意空目录下,运行右键->Checkout,在URL of repository中输入svn://192.168.1.104/G:/SVN/test_repo,这样我们就得到了一份工作拷贝。 
  在工作拷贝中作出修改并提交: 打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库。

最后值得注意的是,服务器的winxp防火墙可能会拦截其他客户端对自己的访问,因此,需要在防火墙配置上添加例外,端口号为3690,类型TCP。