linux(centos)搭建SVN服务器

commandline client app 客户端通过命令行处理svn

 

通过命令行调用客户端的库连接svn     GUI client apps  图形客户端 (大部分用图形)       通过客户端接口client interface        都通过客户端库*(工作拷贝管理库) working copy management library  来连接svn
svn访问方式是svn自己的方式

 

 

安装步骤如下:

1、yum install subversion

 
2、输入rpm -ql subversion查看安装位置,如下图:
 linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
我们知道svn在bin目录下生成了几个二进制文件。
输入 svn --help可以查看svn的使用方法,如下图。
linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
 
 
3、创建svn版本库目录
mkdir -p /var/svn/svnrepos
 
4、创建版本库
svnadmin create /var/svn/svnrepos
执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件
linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
 
5、进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
 
6、设置帐号密码
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如zzx=123
 
7、设置权限
vi authz
在末尾添加如下代码:
[/]
zzx=rw
意思是版本库的根目录zzx对其有读写权限,w只有读权限。
 
8、修改svnserve.conf文件
vi svnserve.conf
打开下面的几个注释(空格也要去掉):
anon-access = read #匿名用户可读  这个不一定打开 下面几个都要修改
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
 
9、启动svn版本库
svnserve -d -r /var/svn/svnrepos

 [root@zzx conf]# ps aux |grep svn 就能看到上面的进程

10、在windows上测试
新建一个测试文件夹,在该文件夹下右键选择 SVN checkout如下图(要事先安装TortoiseSVN):
linux(centos)搭建SVN服务器 - 小木 - 青番茄乐园
填写SVN的地址,如下图:
 

 

输入密码,如下图:
 

 

 到此结束

有个问题就是日志不显示  解决如下

只需要修改svnserver.conf文件里面:
anon-access = read -->修改为 anon-access = none。很诧异吧...修改过后测试没有问题,Message可以正常显示。

 

6.       启动svn服务

svnserve -d -r /svn/project/

注意:不要使用系统提供的 /etc/init.d/svnserve start 来启动,因为系统默认的启动脚本中没有使用 –r /svn/project参数指定一个资源。这种情况下启动的svn服务,客户端连接会提示“svn: No repository found in 'svn://192.168.11.229/project' ”这样的错误。

 

默认svn服务器端口是3690。

杀死svn服务:

# ps -ef|grep svn

root      4642     1  0 16:08 ?        00:00:00 svnserve -d -r /svn/project/

root      4692  3676  0 16:13 pts/2    00:00:00 grep svn

# kill -9 4642

 

 

 

 

 

保存目录  仓库目录下/db/revs

[root@localhost revs]# pwd
/var/svn/svnrepos/db/revs

 

从版本大小上可以看出这是个增量的数据保存格式  因为1中有一个30M的文件 4中删除了这个文件 23中都有这个文件的

 

 

 

 

[groups]   #组harry_and_sally 下面有两个用户harry和sally
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]  #设置用户的权限
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz] # 设置组的权限
# @harry_and_sally = rw
# * = r

 

 

win客户端 清空信息

 

 

posted on 2016-05-30 11:37  寒星12345678999  阅读(185)  评论(0编辑  收藏  举报