相关下载:
1.Subversion
2.客户端软件TortoiseSVN
安装SVN服务器
1. 安装服务器软件
2. 将SVN添加到Windows服务
1. 新建一个文件夹用来存放库文件 c:/SVN
2.安装 Windows 服务 命令:
sc create svnserve binpath= "D:/Program Files/Subversion/bin/svnserve.exe --service --root D:/warehouse --listen-host server2003--listen-port 8164" displayname= "Subversion" depend= tcpip start= demand
// obj= "NT AUTHORITY/NetworkService"
红色的部分 是svnservice 是服务名称
蓝色的部分
前面的是svnserver.exe文件的磁盘路径
后面的是Subversion Repository的磁盘路径
depend的值TCPIP是依赖的服务
在防火墙中开放端口3690
3. 删除服务:
运行命令: sc delete svnserve
配置SVN
1. 配置服务器
打开仓库目录下的 conf/svnserve.conf 文件
********************************************
[general]
# anon-access = read
# auth-access = write
password-db = passwd
authz-db = authz
--------------------------------------------
去掉 password-db = passwd 和 authz-db = authz 的注释
前两行为匿名用户的权限
后两行为启用配置文件来对用户和权限进行管理
注意:所有配置信息必须顶格
2. 配置用户
打开仓库目录下的 conf/passwd 文件
[users]
admin=123 等号左边为用户名,右边为密码
新增用户只需要在这里直接增加即可,如: oksonic = 123456
增加好用户以后需要重启SVN服务器
3. 配置工作组
打开仓库目录下的 conf/authz 文件,文件内容如下:
********************************************
# [groups]
# harry_and_sally = harry,sally
# [/foo/bar]
# harry = rw
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
--------------------------------------------
因为所有配置信息都被注释掉了,所以所有的用户都有管理员的权限(所有目录的读/写)
[groups] 这里的内容为组的配置
把已经建好的两个用户合并为一个分组,用户名之内以逗号分隔,配置内容如下:
********************************************
[groups]
admin_group = admin,oksonic
--------------------------------------------
4. 配置权限
SVN 的权限只有两个,1 是只读,2 是读/写
例:
********************************************
[/]
# 指定所有的仓库默认只读
* = r
# 指定 admin_group 组的用户对库中所有内容具有读/写权限
@admin_group = rw
--------------------------------------------
[/] :这里代表的仓库的目录,此为根目录
* = r : * 号代表所有的用户, r 为只读
现在需要建一个项目到仓库中
1. 在桌面建一个文件夹,如:SVN测试
2. 在目录中新建几个文件和文件夹以作测试
3. 使用客户端工具把目录中的所有文件加入到SVN服务器中的 test 目录中
补充哈:
SVN1.4.3 安装和配置:
1)下载svn-1.4.3-setup.exe,安装的目录为: D:/Subversion ; 仓库目录: F:/Major/Java/ExerciseSVN
2)由于1.4版本的更新,不需要SVNService.exe(添加到Windows服务需要的工具),先创建SVN服务,命令如下:
D:/>sc create SVNService binpath= "/"D:/Subversion/bin/svnserve.exe/" --service --root /"F:/Major/Java/ExerciseSVN/"" displayname= "Subversion Server" depend= Tcpip start= auto
其中SVNService为服务名, start属性为确定SVNService服务的属性,此为自动启动, 注意=左右边的空格,还有"";
启动服务: D:/> net start SVNService 停止:D:/> net stop SVNService
3)创建仓库, D:/>svnadmin create F:/Major/Java/ExerciseSVN
authファイルの内容
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to a
### single user, to a group of users defined in a special [groups]
### section, or to anyone using the '*' wildcard. Each definition can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').
[groups]
# harry_and_sally = harry,sally
Gquji = quji
# [/foo/bar]
# harry = rw
# * =
[/]
quji = rw
* =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/aswet]
@Gquji= rw
* = r
5,运行独立服务器
在任意目录下运行:
svnserve -d -r E:/svndemo/repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。
6,初始化导入
来到我们想要导入的项目根目录,在这个例子里是E:/svndemo/initproject,目录下有一个readme.txt文件:
右键->TortoiseSVN->Import...
在URL of repository输入“svn://localhost/trunk”
在Import Message中输入你的日志信息
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。
需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/trunk”。
7,基本客户端操作
取出版本库到一个工作拷贝:
来到任意空目录下,在本例中是E:/svndemo/wc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。
察看所作的修改:
readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。