linux(redhat)搭建SVN服务器 及在myeclipse10连接svn

安装步骤如下:

1、yum install subversion

linux(redhat)搭建SVN服务器 及在myeclipse10连接svn_第1张图片

2、输入rpm -ql subversion查看安装位置,如下图:

 linux(redhat)搭建SVN服务器 及在myeclipse10连接svn_第2张图片

我们知道svn在bin目录下生成了几个二进制文件。

输入 svn --help可以查看svn的使用方法,如下图。



3、创建svn版本库目录

mkdir -p /var/svn/svnrepos


4、创建版本库

svnadmin create /var/svn/svnrepos

执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件

linux(redhat)搭建SVN服务器 及在myeclipse10连接svn_第3张图片


5、进入conf目录(该svn版本库配置文件)

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件


6、设置帐号密码

vi passwd

在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan


7、设置权限

vi authz

在末尾添加如下代码:

[/]

dan=rw

w=r

意思是版本库的根目录dan对其有读写权限,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

修改过要重新

 

 关闭SVN: killall  svnserve

启动SVN:svnserve -d -r /var/svn/svnrepos


myeclipse10连接svn


首先要给你myeclipce安装插件有几种方式

我用的是下载site-1.6.10.zip

下载地址http://subclipse.tigris.org/

解压到你的myeclipse安装目录下的E:\java\MyEclipse 10\dropins   的dropins 下解压重启就可以了


下面是连接

linux(redhat)搭建SVN服务器 及在myeclipse10连接svn_第4张图片



other

linux(redhat)搭建SVN服务器 及在myeclipse10连接svn_第5张图片

右键--》新建资源库位置

linux(redhat)搭建SVN服务器 及在myeclipse10连接svn_第6张图片



创建库文件

 创建svn版本库目录

mkdir -p /var/svn/svnrepos


 创建版本库

svnadmin create /var/svn/svnrepos


细化权限看着

在/var/svn/svnrepos/conf> vi passwd添加用户


morson = ooo

xiaojinlu = xiaojinlu123

xiaochenggong = xiaochengdong123

admin = admin123


在/var/svn/svnrepos/conf> vi authz 


添加权限信息

//分组

g_manager = xiaojinlu

g_beijing = xiaochenggong

g_shanghai = admin

//可操作的文件下

[/]

@g_manager = rw

*=rw

 

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

在 /var/svn/svnrepos/conf> vi svnserve.conf   


anon-access = read #匿名用户可读

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /var/svn/svnrepos # 认证空间名,版本库所在目录




遇到的问题

 一、问题描述

    今天需要细化设置SVN的权限,结果同事使用分配的权限更新自己的文件时出现了问题(截图如下):

linux(redhat)搭建SVN服务器 及在myeclipse10连接svn_第7张图片


二、探索解决方法

    1、初步分析

    在网上查找资料,分析svnserve.conf文件,网上有资料说将“anon-access = read”,修改为“anon-access = none”。查看自己的svnserve.conf文件,其实我已经设置为“anon-access = none”了。可依然不能更新。

    2、深入思考

    查看svnserve.conf文件附带的说明:

### These options control access to the repository for unauthenticated

### and authenticated users.  Valid values are "write", "read",

### and "none".  The sample settings below are the defaults.

# anon-access = read

# auth-access = write

原来是这样的:

anon-access = read-->表示匿名访问的权限,为只读。

auth-access = write -->表示认证用户访问的权限,为可写。

再查看自己的authz文件,发现虽然给同事的帐号分配了指定目录的读写权限,但没有给该帐号设置那个指定目录的上级目录的权限,这样,默认情况下该账号就没有访问指定目录的上级目录的权限,所以这样设置的权限其实是冲突的。

3、解决方法

    其实解决上述问题,有两种方法:

(1) 将默认的访问权限设置为只读(即anon-access = read),这样所有的用户都能访问该配置库目录,缺点是配置库的安全性降低,所以选择第二种方法。

(2) 给该帐号分配只读权限,使之对 指定目录的上级目录拥有只读权限。

三、总结

   使用上述第二种方法,问题得到解决。在使用SVN过程中发现问题时,还是要自己查看SVN所带文件的说明内容,会有很大帮助,同时也给我们这些开发人员一个提示,在我们的开发过程中,写注释或说明文件一定要详细、周全。

如果还有问题的话请@我   或把问题发我邮箱[email protected]






你可能感兴趣的:(linux(redhat)搭建SVN服务器 及在myeclipse10连接svn)