使用Subversion进行版本控制可以更加有效的控制软件开发过程,节省开发时间。本文主要介绍windows平台下Subversion的安装配置。
1.下载Subversion服务器和客户端(使用TortoiseSVN)
Subversion官网网址:http://subversion.tigris.org
服务器下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100
客户端下载地址:http://tortoisesvn.tigris.org/
2.修改Path路径
假设服务器安装目录为C:\SVN1.5.3,在“我的电脑”上点右键->“高级”->“环境变量”,在“系统变量”中找到Path,在最后面添加上“;C:\SVN1.5.3\bin”,这样就不用每次都先要进入C:\SVN1.5.3\bin目录才能运行Subversion了~
3.创建版本库
假设版本库根目录为C:\VersionLib,现在要为MyProject项目创建版本库。首先进入C:\VersionLib\MyProject目录,点击右键->TortoiseSVN->Create repository here,这样就创建了一个版本库啦~
4.配置用户和权限
进入C:\VersionLib\MyProject\conf目录,会看到3个文件:svnserve.conf、passwd、authz。
(1)修改svnserve.conf
# anon-access = read
# auth-access = write
# password-db = passwd
改为:
anon-access = read
auth-access = write
password-db = passwd
其中前两行表示读写访问权限,最后一行表示密码文件使用默认的passwd文件,如果你使用其他文件,则改为你使用的文件名。
(2)修改passwd文件
这个文件的内容比较简单,在[users]标签下添加:
qianxin = qx
这表示添加了一个用户,用户名为qianxin,密码为qx。可以添加多个用户。
(3)authz文件,这是用于权限配置的文件,属于比较高级的应用,这里暂时不涉及。
5.运行Subversion服务器
开始菜单->运行->输入cmd,打开命令行窗口,输入:
svnserve -d -r C:\VersionLib\MyProject
这样就启动Subversion服务器了,注意不要关闭命令行窗口,关闭窗口也会把Subversion服务器停止。
6.初始化导入
目前的版本库还是一个空版本库,里面没有任何内容,因此需要先导入一个原始版本。进入需要导入的项目目录,假设为D:\SVNTest,点击右键->TortoiseSVN->Import...,在“URL of repository”中输入版本库地址:
svn://localhost/MyProject
在“Import message”中输入日志信息:Init project,然后点击“OK”,这时会弹出登录对话框,输入用户名和密码就可以导入版本库了。如果勾选登录对话框最下方的那个复选框就可以记住你的用户名和密码,这样就不用每次导入版本库都输入一次用户名密码了~
7.取出版本库的一个工作拷贝
在你的工作目录下点右键->SVN Checkout...,输入版本库地址就可以导出版本库的内容了。默认是导出最新的版本,如果需要导出以前的版本可以在“Revision”中输入要导出的版本的版本号。
8.导入版本更改
如果当前的版本和版本库中的最新版本完全相同,则所有文件和文件夹上都会有一个绿色的勾。如果修改了内容,则被修改的文件上会出现一个红色的感叹号。如果需要向版本库提交新版本,点击右键->Commit...就可以了。
9.注册Subversion服务
每次运行Subversion服务器时都需要在命令行窗口中输入命令,非常繁琐,如果能够把Subversion注册为一个Windows的服务,并设置为自动启动,这样每次开机后就会自动运行Subversion服务器了。这个功能在1.4版本以上的Subversion中已经包含了,使用步骤如下:
(1)安装服务
sc create subversion_service binpath= "C:\SVN1.5.3\bin\svnserve.exe --service -r C:\VersionLib\MyProject" Displayname= "Subversion Repository" depend= Tcpip
注意等号后面的空格,以上命令在一行内输入。
(2)启动服务
开始菜单->控制面板->管理工具->服务,找到Subversion Repository服务,双击后点“启动”。可以把启动类型设置为“自动”,这样就不需要每次手动启动服务了。
也可以在命令行方式下启动服务:
sc start subversion_service
(3)删除服务
sc delete subversion_service
以上讲解的只是Subversion最基本的用法,Subversion还有很多高级应用,大家可以参阅相关文档选择使用。