一、 Introduction
subversion,子级版本。子级源代码版本控制软件。Svn是一款项目管理工具。通常软件开发由多人协作开发,如果对代码文件、配置文件、文档等没有进行版本控制,将会出现很多问题,如备份多个版本,占用磁盘空间大,代码冲突,容易引发bug,难以追溯问题代码的修改人和修改时间,难以恢复至以前正确版本,无法进行权限控制,发布困难等。版本控制(Revision Control)是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。Svn是为了解决这类问题的版本管理工具,为了替换cvs而出现。Svn基于客户/服务器模式,多个用户与服务器连接,可以从服务器取文件,然后更新后提交给服务器,为用户所共用。
Svn的工作方式类似数据库,即采用库加服务的方式,服务负责处理客户端的请求对库进行增删改查的操作。
作用,多人开发同一个项目不会出现代码覆盖情况;针对一个文件可以创建多个不同版本,并且可以随时查看不同版本的内容;领导可以通过svn查看每个人的工作情况。
二、 Svn服务端的安装与使用
下载svn服务端软件,然后安装。
Svn服务器端的使用
(一)命令行操作:
1. 创建多个仓库
在项目目录下创建3个文件目录作为3个仓库用于存储开发的不同项目的源代码。比如,app,book,shop。
进入cmd命令行,进入svnserver的安装目录,进入bin目录,执行svnadmin create f:\project\app 就会在这个项目目录下创建一个仓库。
2. 启动仓库服务
svnserve -d(独立端口运行) -r(仓库运行) 仓库地址
比如:svnserve -d -r h:/svnServer/app/book //启动仓库服务。
该svn服务走svn协议,端口号是3690。启动仓库服务后,保持cmd窗口挂起状态,不要关闭,否则进程关闭。
启动仓库后本地客户端与仓库取得联系,在编好的文件上右键—>checkout(检出),在弹出的选项框中,RUL of repository填写svn服务器端的ip地址,比如svn://192.168.0.112,如果有仓库开启,则与这个开启的仓库取得联系,在工作目录下会创建一个.svn的文件。
3. 开启仓库匿名帐号权限
为了使用户端能够提交文件,需要开启匿名账户权限
找到对应的仓库,比如shop,在conf目录下,打开svnserve.conf。开启anon-access = write。不需要重启svn服务。再次提交文件,成功。
4. 同时运行多个svn仓库服务
把所有仓库的上级目录当成服务给启动起来。比如,app下有shop、book、food,同时运行这个三个仓库,执行svnserve -d -r f:/app/。然后当客户端chekout的时候,RUL of repository填写svn服务器端的ip地址,比如svn://192.168.0.112/仓库名,与对应的仓库取得联系。
如果在运行多个svn仓库之前,有用户已经checkout了