搭建windows环境的版本管理服务器
在软件项目开发过程中, 项目涉及到的文件很多, 比如代码源文件等, 如果没有一个版本管理工具, 那么在项目开发中将会遇到各种问题, 比如版本不统一. 通过一个版本管理服务器, 能很好的管理软件项目过程中的资源, 能有效地提高开发的效率, 减少错误的发生.
SVN(Subversion)是类似于VSS 和 CVS 的版本管理软件,是CVS的作者另起炉灶开发的,继承了CVS的优点,避免了CVS的一些缺点.
以下是在windows环境下搭建svn版本管理服务器, 具体如下:
一、需要的软件
1、服务端软件:svn-1.4.2-setup.exe [下载] SVNService.zip [下载]
2、客户端软件:TortoiseSVN-1.3.2.5840.exe [下载] 中文语言包 [下载]
二、系统环境
Windows 2003
三、服务器安装与配置
1、安装svn-1.4.2-setup.exe,根据常规方法安装就行,默认安装在“C:\Program Files\Subversion”
2、将SVNService.zip压缩包里的文件全部解压到“C:\Program Files\Subversion\bin”
3、创建一个目录作为项目仓库,例如在F盘创建一个svnhome目录。
4、将svnservice注册为系统服务:
运行CMD
cd c:\Program Files\Subversion\bin
SVNService.exe -install -d -r f:\svnhome
5、启动服务:在“控制面板”-〉“管理工具”-〉“服务”里面找到“SVNService”将其启动,并将启动类型设为自动。
6、在防火墙中开放端口3690。
四、客户端配置
1、首先明确,客户端和服务端可以为同一电脑。
2、安装TortoiseSVN-1.3.2.5840.exe,根据常规方法安装就行,默认安装在“C:\Program Files\TortoiseSVN”。
3、重新启动电脑。
4、安装中文语言包。转换成中文的方法是:选一个目录单击右键选择“TortoiseSVN -〉Settings”,在Language下拉框中选择“中文(简体)”确定即可。
五、使用
1、在服务器上为每个项目单独建立一个目录,建议建立在F:\svnhome下面
2、在项目目录上单击右键选择“TortoiseSVN -〉Create repository here...(在此创建文件库)”,然后选择Native filesystem(本地文件系统)(FSFS)。
3、进入该目录会发现多了一些目录和文件,我们只要再进入conf目录,会发现有三个文件,首先我们用记事本打开“svnserve.conf”。这个文件是配置权限的,默认情况下每一行都是用“#”注释掉的,我们需要将其中四行前的“#”去掉:
[general]
anon-access = read 表示匿名用户可读,可以改为none或者write
auth-access = write 表示认证客户可写
password-db = passwd 表示认证用户及密码的文件名为“passwd”
设置完以后保存,再打开同目录下的“passwd”(如果没有的话也可新建),在里面将最后三行前的“#”去掉然后添加自己的用户,设置如下:
[users]
user1 = 123456 表示第一个用户名为“user1”密码为“123456”
user2 = 654321 表示第二个用户名为“user2”密码为“654321”
.
.
.
4、在客户机上选择一个需要进行版本管理的目录,单击右键选择“TortoiseSVN -〉Import...(导入)”在弹出的对话框里输入服务器的地址,地址格式为:svn://IP地址/项目目录名,然后再在弹出的对话框中输入用户名和密码就可以将需要管理的文件上传到版本管理服务器生成第一次版本。
5、将本地这个项目的目录清空(建议先备份),然后在目录上单击右键选择“SVN Checkout...(SVN 取出)”,在弹出的对话框里输入地址,然后输入用户名和密码就能取回最新版本,然后再看该目录的图标就发生了变化,表明这个项目已经被管理了。
6、以后对程序进行了修改,只要在目录上点击右键选择“SVN Commit(SVN 提交)”就可以了;如果想获取最新版本只要在目录上点击右键选择“SVN Update(SVN 更新)”就可以了。
7、在日常使用中往往会发现项目库所在的分区越来越小不够用了,而其他分区还有空间。在这种情况下,就要另外再增加新的服务,方法如下:
例如我们在D盘和E盘下分别建立svnhome1,svnhome2,那么就要另外再开两个服务对应这两个目录
sc create SVNService01 binpath= "\"c:\program files\subversion\bin\svnserve.exe\" --service -r d:\svnhome1 --listen-port 3691" displayname= "SVNService01" depend= Tcpip
sc create SVNService02 binpath= "\"c:\program files\subversion\bin\svnserve.exe\" --service -r d:\svnhome2 --listen-port 3692" displayname= "SVNService02" depend= Tcpip
访问是通过 svn://XXX.XXX.XXX.XXX:3691、svn://XXX.XXX.XXX.XXX:3692即可。