本页记录Subversion的简明使用方法。此介绍基于Windows上的TortoiseSVN。


1.  相关链接

相关网站:

相关工具:


2.  Debian下的服务器配置方法

  1. apt-get install subversion
  2. mkdir /home/svn (这是为了建立subversion的存储目录)
  3. useradd svn (为subversion服务建立一个用户)
  4. svnadmin create /home/svn (建立subversion用的工作目录)
  5. 编辑工作目录中的conf/svnserve.conf文件,里面得包括如下内容:
    [general]
    anon-access = none
    # 设置匿名用户权限,none是不能访问,read是只读,write是读写;
    auth-access = write
    # 设置普通用户权限,none是不能访问,read是只读,write是读写;
    password-db = passwd
    # 指定用户帐号维护文件路径,现在指定的是与svnserve.conf文件同一目录的passwd文件;
    realm = svn.nc.9966.org
    # 指定客户端访问时用来标识subversion服务器的名字;
  6. 设定passwd文件
    [users]
    username = userpass
    # 一个用户名一行,格式为“用户名=密码”
  7. chown svn /home/svn -R (让svn用户成为/home/svn路径的拥有者)
  8. 启动subversion服务器:svnserve -d -r /home/svn ,其中,-d参数表示以独立进程模式启动subversion服务器,-r参数把客户端访问限制到参数后面指定的目录中,此时可以在客户端直接访问“svn://服务器ip地址或域名/”找到subversion服务器了。
  9. 配置subversion可以自动随系统启动:编辑/etc/inetd.conf文件,加入如下行,“svn stream tcp nowait svn /usr/bin/svnserve svnserve -i -r /home/svn”。其中,第二个“svn”是指定的运行服务的用户名,“/usr/bin/svnserve”是服务的执行程序所在完整路径,再后面的是服务的运行参数,-i表示以inetd的方式启动,-r的作用和上一步提到的作用一样。

其他配置方面,可参考http://svnbook.red-bean.com/ 上第6章的说明,中文翻译版本的服务器配置说明部分已经过时,不大合用。如果是打算在windows上配置subversion服务器,则可以参考tortoisesvn附带帮助文件的说明。


3.  SubVersion客户端选择

http://svnbook.red-bean.com/ 上的附录D一章,给出了几乎所有流行的SubVersion客户端的列表及主网站地址,总可以从那里开始挑选适合自己需求的客户端软件。现在我在Windows下使用TortoiseSVN;在Linux下则还没有找到好用的图形客户端,曾经打算使用RapidSVN,可是这个软件更新过于缓慢了,只好放弃,目前Linux下是依靠Eclipse上的Subversive;Mac下依靠Subversion命令行版本二进制安装包开源图形界面客户端SvnX

3.1  Subversive相关提示

Subversive的界面有一个和TortoiseSVN不同的地方。Tortoise是把主要功能都放在其专有菜单,包括删除功能,而且在Tortoise里面如果要在版本库中删除文件,不能用操作系统提供的删除,而得用Tortoise的删除功能。但Subversive里,Eclipse的默认删除文件功能就会顺便在版本库里面做删除标记。奇怪Subversive没有提供版本库中的删除文件功能还奇怪了好久^_^

3.2  Total Commander中显示SVN版本库状态

在Total Commander中:设置-》显示-》图标,把“在快捷方式/共享文件夹等图标上,显示小箭头/手等覆盖图标”勾上就成了。需要在系统中已经安装了TortoiseSVN。


4.  与Bug Tracker的集成

Roundup自身支持与SubVersion的集成,方法参考 http://www.mechanicalcat.net/tech/roundup/svn-roundup ;与Bugzilla或Mantis的集成可以使用scmbug实现。


5.  档案库之间的镜像解决方案

参考使用svnsync镜像版本库

GlossyBlue theme adapted by David Gilbert
Powered by PmWiki