svn 安装
关下载:
1.Subversion
http://subversion.tigris.org
2.客户端软件TortoiseSVN
http://tortoisesvn.tigris.org
安装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-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的区别。
?
?
首先安装服务端程序subversion1.x.x和客户端程序TortoiseSVN-1.x.x.xxxx(是两个网站)。subversion在服务器端客户端都需要安装,TortoiseSVN只要在客户端安装就行。TortoiseSVN的语言包下载和TortoiseSVN的下载都在其官网的同一页
如果使用了eclipse并且用插件的话,则可以不用TortoiseSVN。
二.建立Repository(保存文档各个版本的数据库),必须建立在服务端
1)在服务器端建立一个空目录,比如“d:\svn\project1”。
2)进入dos
3)svnadmin create --fs-type bdb d:\svn\project1
// svnadmin 是exe程序,安装时已经自动加到系统路径了。
// 这里选择了 Berkeley Database(BDB)方式做为版本库的类型
// 也可用TortoiseSVN这个客户端工具实现创建
// d:\svn是版本库的位置,也可以取别的名字,别的路径,一个版本库可以包含多个项目
// project1是某个项目名称,
三.在服务端配置Repository,主要的目的是控制访问权限和添加用户。
1)打开d:\svn\project1\conf\svnserve.conf
2)把以下行前的#去掉,保存
# anon-access = read
# auth-access = write
# password-db = passwd
并修改成
anon-access = none
3)打开d:\svn\project1\conf\passwd文件
4)末尾加一行
xy = 1
保存
// xy是用户名,1是密码,自行替换
5)多个用户就加多行
四.在服务端启动subversion服务器。
1)进入dos
2)svnserve.exe -d -r d:\svn
3)服务启动后,在服务器端的3690端口监听客户端的连接请求。
4)参数的作用是:当在客户端用“svn://xxx/project1”(xxx可以是服务器端主机名或ip)访问服务器的Repository时,
服务器会知道你要访问的Repository路径是“d:\svn\project1”。
5)如果当我有两个完全不相干的项目要进行版本控制时,可以再建立一个空目录
“d:\svn\Project2”,并在其中再建立一个Repository,
此时客户端就可以用“svn: //xxx/project2”访问“C:\SVNProjects\Project2”下的Repository。
6)如果想要注册为window服务,
进入dos,
sc create svnservice binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r d:\svn" displayname= "SVNService" depend= Tcpip
// 请务必在一行内输入
// SVNService是服务名,也可以替换
// D:\Program Files\Subversion\ 是服务器安装svn的路径,要替换
7)如果想注销window服务
进入dos
sc delete SVNService
五、在客户端安装eclipse的svn插件,安装好后几乎无需任何配置
在线安装方式的url是http://subclipse.tigris.org/update
六、在客户端,首先确保服务打开,打开视图,window -> show view -> other -> svn -> svn资源库
右键单击,新建->资源库位置-> svn://localhost/project1,出现一个资源库,
右键单击,取出为->作为新项目取出,并用向导配置。选yes
java->java项目,next->finish.
七、在客户端,在eclipse的左边视图项目根目录下加文件夹,加文件,然后
在eclipse的左边视图的文件夹或根路径下提交,更新。(右键单击)
所有的操作都在eclipse的界面内完成,工作效率极高。比TortoiseSVN方便,
注意eclipse的配置文件不要提交上去,就是建立eclipse项目时会自动建立在项目文件夹里的两三个文件。
因为是“作为新项目取出”。
xieye 20080101
为2003和XP建立防火墙。是进入防火墙,然后选“添加程序”,选择安装路径下的bin下的svnserve.exe即可。
linux下安装服务端步骤:
从 http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz 下载最新版的Subversion源码包
解压后运行
./configure --prefix=/subversion
make
make install
创建资料库
/subversion/bin/svnadmin create /home/sub_ku
修改配置
/home/sub_ku/conf/passwd 增加用户和口令(明码)
/home/sub_ku/conf/svnserve.conf配置如下
anon-access = none
password-db = passwd
启动独立服务
/subversion/bin/svnserve -d -r /home
想停止服务用kill命令。
默认的SVN端口是3690
此时,就可以用客户端来访问了。