③在版本库根目录下创建与具体项目对应的子目录——这样做的目的是使一个SVN服务器能够同时管理多个项目,而不是为每一个项目搭建一个SVN服务器——这显然太浪费资源了。
例如:D:\DevRepository\Subversion\CRM
D:\DevRepository\Subversion\ERP
D:\DevRepository\Subversion\OA
④创建版本库
命令格式
主命令
子命令
参数1
svnadmin
create
仓库路径
举例
svnadmin create D:\DevRepository\Subversion\StuSys
⑤版本库目录结构
版本库创建成功后会在指定目录下产生如下的目录结构
2.3 启动服务器端程序
①SVN服务器必须处于运行状态才能响应客户端请求,帮助我们管理项目文件。所以我们必须将SVN服务器启动起来。启动SVN
服务器有两种方法,一个是命令行方式,一个是注册Windows服务。
②命令行方式
[1]命令格式
主命令
参数1
参数2
参数3
svnserve
-d表示后台执行
-r表示版本库根目录
D:\DevRepository\Subversion
举例
svnserve -d -r D:\DevRepository\Subversion
[2]验证服务是否启动
SVN服务监听3690端口,打开一个新的cmd窗口,使用netstat -an 命令查看3690端口是否被监听
[3]命令行方式的缺陷是:只要运行服务器端程序的命令行窗口一关闭,服务就停止了,很不方便,而且每次开机都需要手动启动。
③注册Windows服务
[1]将SVN服务端程序注册为Windows服务,就可以让SVN服务随系统一起启动,克服了命令行方式的不足。
[2]注册Windows服务需要利用XP、2000以上系统自带工具Service Control,执行文件是sc.exe,注意这个命令不是SVN的命令。
[3]命令格式
主命令
子命令
参数1
参数2
参数3
参数4
sc
create
服务名
binpath= “运行服务所需要的二进制文件路径以及运行该二进制文件的命令行参数”
start= auto
表示自动启动
depend= Tcpip
表示依赖Tcpip协议
[注意:在这个命令中,等号左边都没有空格,右边都有一个空格!]
[4]binpath组成结构说明
svnserve.exe路径
svnserve命令参数1
svnserve命令参数2
svnserve命令参数3
SVN安装目录\bin\svnserve.exe
--service
表示以服务方式启动Subversion
-r
表示版本库根目录
版本库目录
[5]关于“版本库目录”
单仓库
指定与具体项目对应的仓库目录
例如:D:\DevRepository\Subversion\CRM
只能为一个项目服务
多仓库
指定版本库的根目录
例如:D:\DevRepository\Subversion
可以为多个项目服务
[6]最终命令举例
sc create MySVNService binpath= "D:\DevInstall\Subversion\bin\svnserve.exe --service -r D:\DevRepository\Subversion" start= auto depend= Tcpip
●在Win7及以上系统中,运行该命令需要管理员权限,否则会得到如下错误提示
●解决的办法是以管理员身份运行cmd命令行窗口即可
●在防火墙或电脑卫士提示阻止时,选择允许
●此时查看当前系统中的服务,可以看到我们刚刚创建的服务,但此时它还没有启动,如果创建失败,需检查sc命令是否正确
●启动此服务
启动服务的命令格式如下:
格式
sc start 服务名
举例
sc start MySVNService
●打开命令行窗口运行netstat –an查看3690端口是否被监听
●如果启动失败,那很有可能是binpath中的内容有错误,此时只能将已经创建的服务删除,重新创建。
●删除服务之前,最好先停止服务。停止服务的命令格式如下:
格式
sc stop 服务名
举例
sc stop MySVNService
●删除服务的命令格式如下:
格式
sc delete 服务名
举例
sc delete MySVNService
●删除、启动、停止服务同样需要管理员权限
3 使用命令行模式访问SVN服务器
3.1 检出
①首先进入自己的工作目录,例如:D:\DevWorkSpace\SVNSpace
②运行svn checkout命令,命令格式如下
格式
svn checkout svn://SVN服务器主机地址/具体仓库目录 保存检出内容的目录
举例
svn checkout svn://localhost/ERP MyERP
运行结果
取出版本 0。
③工作副本