本页记录Subversion的简明使用方法。此介绍基于Windows上的TortoiseSVN。
On this page... (hide)
- 1. 相关链接
- 2. Debian下的服务器配置方法
- 3. SubVersion客户端选择
- 4. 与Bug Tracker的集成
- 5. 档案库之间的镜像解决方案
1. 相关链接
相关网站:
- http://subversion.tigris.org/ SubVersion官方网站所在地
- http://svnbook.red-bean.com/ 在线权威书籍——《使用Subversion进行版本控制》(多语言版本)
- http://freebsd.sinica.edu.tw/~plasma/svnbook/ SubVersion书的繁体中文翻译版本的地址
- http://www.subversion.org.cn/ SubVersion中文讨论站点。
相关工具:
- http://tortoisesvn.tigris.org/ Windows上SubVersion客户端TortoiseSVN的官方网站。
- http://ankhsvn.tigris.org/ Visual Studio.net的SubVersion客户端插件。
- http://subclipse.tigris.org/ eclipse的SubVersion插件。
- Subversive 另一个eclipse的SubVersion插件,与Subclipse区别不大,好像稍微易用一些,我现在用的是这个。
- http://clanlib.org/~mbn/svnservice/ 将SubVersion配置成Windows系统服务的小工具。
- insurrection 以Web界面管理Subversion代码库的软件,还不确定是否成熟。
2. Debian下的服务器配置方法
- apt-get install subversion
- mkdir /home/svn (这是为了建立subversion的存储目录)
- useradd svn (为subversion服务建立一个用户)
- svnadmin create /home/svn (建立subversion用的工作目录)
- 编辑工作目录中的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服务器的名字; - 设定passwd文件
[users]
username = userpass
# 一个用户名一行,格式为“用户名=密码” - chown svn /home/svn -R (让svn用户成为/home/svn路径的拥有者)
- 启动subversion服务器:svnserve -d -r /home/svn ,其中,-d参数表示以独立进程模式启动subversion服务器,-r参数把客户端访问限制到参数后面指定的目录中,此时可以在客户端直接访问“svn://服务器ip地址或域名/”找到subversion服务器了。
- 配置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实现。