svn 安装 、使用(2)

时间:2021-11-03 04:59:22

写在前面的话:

p.s.有必要读一读,不然可能会浪费你的时间。

  该篇是接着上一篇的,上一篇是看了很多人写的文章,汇总的一些可能的情况,最后还是没有成功。此篇是在一个同学的帮助下成功的,也是在自己做好的基础上写的。应该都是对的,如果你发现你按照我写的来,结果发现不对,请见谅,每个人的机器的情况毕竟不一样,而且linux上面一个小的配置不对,都有可能导致我们使用不了。

1、在有网络的情况下: 用#yum -y install subversion   (无网络情况下,安装随后补充)

检查是否安装完成 #svn  --version

显示有版本号及说明安装成功

svn 安装 、使用(2)

2、     新建一个目录用于存储SVN所有文件

# mkdir   /var/svn

3、    新建一个资源仓库

# svnadmin  create  /var/svn/project

svn 安装 、使用(2)

目录用途说明:

hooks目录:放置hook脚本文件的目录

locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号

conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

4、修改conf目录下的三个文件(下面这三个文件是我传出来后,用EditPlus打开的,方便看得清楚一些)

▶文件passwd

[root@localhost conf]# vi passwd

svn 安装 、使用(2)

注意:对用户配置文件的修改立即生效,不必重启svn服务。

▶文件authz

[root@localhost conf]# vi authz

svn 安装 、使用(2)

格式说明:

版本库目录格式:

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

/ 表示对根目录(即/svn/project目录)下的所有子目录范围设置权限;

[/abc] 表示对资料库中abc项目设置权限;

创建一个admin组,组成员包括xiaoran.shen和test1

创建一个user组,成员只有test2;

admin组对目录有读写权限;

单个用户test2有读写权限;

*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

如果想设置某用户都没有rw的权限,只要=号的右边这空即可如
sai=

注意:对权限配置文件的修改立即生效,不必重启svn。

▶文件svnserve.onf

[root@localhost conf]# vi svnserve.conf
svn 安装 、使用(2)

配置项分为以下5项:

anon-access 控制非鉴权用户访问版本库的权限。

auth-access  控制鉴权用户访问版本库的权限。

password-db 指定用户名口令文件名。

authz-db    指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。

realm      指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

5、启动svn服务

[root@localhost project1]# svnserve -d -r /svn/project1/

注意:不要使用系统提供的 /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

6、checkout(checkout=co)

svn 安装 、使用(2)

注:这是没有修改配置文件的时候,直接checkout出来了。

svn 安装 、使用(2)

svn 安装 、使用(2)

有关连接:

http://my.oschina.net/lionel45/blog/298305