建立仓库/版本库(Repository)
运行Subversion服务器需要建立一个版本库(Repository),用来存放项目代码。
两种方法建立版本库:
1)、开始-à运行-à输入cmd-à打开了dos窗口,输入:
svnadmin create C:/projectname/repository
后面为你要建立的版本库路径。
2)、使用TortoiseSVN工具创建:
在你要创建版本库的路径C:/projectname/repository下,右键-àTortoiseSVN-àCreate Repository here...,然后就创建了一系列目录和文件。有的可以选择存储版本数据方式,这里默认是在 Berkeley DB 数据库中存放数据,看到下图那个db文件夹了嘛。
注意:建立版本库的路径中的文件,文件名不能有空格,否则会建立不成功的。
6、 配置用户和权限
1)修改svnserve.conf文件
打开C:/projectname/repository/conf目录下的svnserve.conf文件。
原来配置:
[general]
# anon-access = read
# auth-access = write
# password-db=passwd
修改成以下配置,去掉前面的#号:
[general]
anon-access=none //未验证用户无任何权限
auth-access=write //已验证用户给予写权限
password-db=passwd //密码数据存放到passwd文件中
解释:anon-access=none为未验证用户没有任何权限,如果这里不改,用户不用输入密码即可获得代码版本。
auth-access=write已验证用户给予写权限。
password-db=passwd将密码存到passwd文件中。
2)修改passwd文件
原来配置:
[users]
#harry = harryssecret
#sally = sallyssecret
“=”号前面是用户名,后面是密码。按照这种格式建立自己的用户名和密码。
[users]
xinxin = 123456
7、 启动服务器
启动服务器的版本库,启动后,不要关闭dos窗口。
开始à运行à输入cmdà输入svnserve -d -r C:/projectname/repository
8、 导入/上传项目到服务器
在C:/testproject这有一个项目,右键àTortoiseSVN->Import...
在URL of repository输入“svn://127.0.0.1/testproject”,点确定上传。
如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
输入用户名和密码,勾上保存认证,记住密码。
9、 在客户端取出项目
在安装了TortoiseSVN的客户端检出项目,将服务器端的项目代码下载到本地电脑上。
你想在d:/myproject/xinxin目录检出项目,在该目录下右键->Checkout,在URL of repository中输入svn://127.0.0.1,IP地址为服务器的地址。这样就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
打开test.txt,作出修改,然后右键->Commit...,这样就把修改提交到了版本库。
10、 注册系统服务,随电脑启动
将服务器注册成系统服务,subversion就会随电脑启动了。
系统启动
sc create subversion_service binpath= "C:/Program Files/Subversion/bin/svnserve.exe --service -r C:/projectname/repository" displayname= "Subversion Repository"
depend= Tcpip start= auto
解释:subversion_service为服务的名称。所有的系统服务可以在dos下通过命令手动启动和停止。启动:net start subversion_service 停止:net stop subversion_service
binpath为安装subversion的路径,可执行文件的路径。
C:/projectname/repository为版本库的路径。
displayname= "Subversion Repository"为注册成的系统服务显示名称,注册成功后,可以在系统服务中找到这个名称。
depend= Tcpip为依赖Tcpip协议。
start= auto为注册成的系统服务启动类型为自动。
注册系统服务成功图。
系统服务在哪看?
开始-à控制面板-à管理工具-à服务。
或右键我的电脑-à管理-à服务和应用程序-à服务。
下图为注册显示名为Subversion Repository的系统服务。
删除系统服务:
sc delete subversion_service
删除系统服务成功图