Subversion(svn)是近年来崛起的版本管理工具,是cvs[3]的接班人。目前,绝大多数开源软件都使用Subversion作为代码版本管理软件。Subversion的安装方法见参考[1]。需要注意的是,安装完服务器端之后,在客户端一般要安装tortoise工具[15]或者subversion工具。
首先必须理解Subversion的基本概念[4]。建立仓库后[1],导入项目,项目的一般目录形式参考[10]。建立项目后须将项目代码置于Subversion的控制之下,方式参考[14]。一旦创建完项目之后,本地文件就可以删除掉了。其他用户签出、更新、添加代码,处理冲突,完成提交和修改功能,这些最常用的操作参考[5,6]。许多用户对文件进行修改后,我们可以查看当前修改历史信息,可以放弃修改或者反向合并[8]。使用Subversion的分支和标签可以对代码进行分支管理[10-14]。其中如何在分支的基础上对bug进行管理和修改参考[12],如何管理代码的发布参考[11],如何实现实验分支参考[13],项目之间共享代码参见[14]
为了解决安全问题,可以将项目划分为不同的子项目,确保个用户工作区域的独立性,可以设定不同的分支和标签来管理不同阶段代码[10],可以加锁文件[9],可以配置subversion的用户名列表[1],可以完成备份工作[15]。Eclipse可以和Subversion结合起来进行版本管理工作[2,3],Ant[17]也可以和Subversion结合起来进行自动构建和测试[2]。
Subversion的常用命令行可以下载[16]。
参考
1. Subversion(Subversion)服务器端配置
2. Eclipse下用Ant运行JUnit
3. Eclipse的常用功能、重构以及CVS等
4. 版本控制的基本概念-以Subversion为例-1
5. Subversion的导入、修改与提交
6. Subversion的签出、更新、添加文件目录、拷贝移动文件和处理合并冲突
7. 使用Subversionant结合Subversion进行项目构建
8. Subversion的查看改动历史、放弃修改、反向合并
9. Subversion文件加锁
10. Subversion组织仓库的一般形式和标签和分支
11. Subversion发布分支和发布
12. Subversion分支的Bug修正
13. Subversion的试验分支
14. Subversion创建项目及项目间共享代码
15. Subversion的备份和Tortoise工具
16. Subversion的Checklist
17. Ant系统构建工具的使用