Ubuntu上搭建SVN以及创建仓库目录

1、卸载SVN

查看自己是否安装了svn

svn

上图显示已安装,可用以下命令进行卸载

sudo apt-get remove --purge subversion

(–purge 选项表示彻底删除改软件和相关文件)

2、安装SVN

安装前先更新一下

sudo apt-get update

接下来安装

sudo apt-get install subversion

3、创建SVN版本库

创建home下的svn文件夹

sudo mkdir  /home/svn

创建svn下的repository文件夹

sudo mkdir /home/svn/repository

更改repository的权限(第一次搭建没有赋予权限,客户端访问服务器被拒绝)

sudo chmod -R 777 /home/svn/repository

创建版本库(可创建多个自定义的库,操作一样,添加新的库不需要重启SVN

sudo svnadmin create /home/svn/repository

完成后会在repository文件夹下生成以下文件

然后对db进行权限设置

sudo chmod -R 777 db

设置访问权限:需要对conf文件夹下的文件进行修改

修改配置文件conf/svnserve.conf

sudo vim /home/svn/repository/conf/svnserve.conf

 

#匿名用户可读

anon-access = read(可改成none,即不可读)

#权限用户可写

auth-access = write

#密码文件为passwd

password-db = passwd

#权限文件为authz

authz-db = authz

(去掉前面的#,并且顶格,不然可能会报错)

添加访问用户conf/passwd

sudo vim /home/svn/repository/conf/passwd

设置用户权限conf/authz

sudo vim /home/svn/repository/conf/authz

 

1. admin = smwang //用户smwang属于admin权限组

2. @admin = rw //admin权限组的权限是读和写

3. * = rw 所有的组都具有读权限和写权限

4、测试SVN服务器

启动服务器

svnserve -d-r /home/svn

(-d:表示在后台运行 ,-r:指定服务器的根目录)

用如下命令查看svnserve是否已经运行

ps aux | grep svnserve

(表示服务器已经在后台运行了,这个时候我没就可通过svn://服务器ip/repository从svn客户端访问服务器了)

停止服务器

如果需要关闭服务器,可以用下面的命令

killall svnserve

5、常见错误

svn出现Authorizationfailed 和 connect 服务器失败

进入svn的conf目录下

修改svnserve.conf

  [general]

    anon-access = read

    auth-access = write

    password-db = passwd

    authz-db = authz

修改passwd文件

  添加用户名和密码

修改authz文件

  将新增的用户和密码添加

    格式(username =password)

    [gourp]

    添加组成员

      格式 development=d1,d2,d3

    [/] 所有文件权限

      @development=rw(r读w写)

②错误:svn: Can’t connect ‘svn://.... Permission denied

在Linux环境下安装好SVN服务器后,在Linux环境下可以正常地检出、提交,在Windows PC上把已有的Repository检出后,结果在提交的时候出现以下

 出现这种问题的原因在于搭建SVN服务器,包括创建Repository目录/home/svn目录下的一切子目录和文件都是在root用户下进行的,所以在root用户下检出、提交都没有问题。可在Windows PC上从客户端访问就有问题了,因为是只有拥有管理器权限的人才能对Repository目录进行完全控制,而在Windows从客户端访问的话,因为是Users用户组的,对Repository没有修改权限,所以不能提交。

解决办法: 在服务器上把Users对Repository的完全控制权限加上就可以了,执行如下命令对/home/svn目录下的所有文件和子目录添加Users的读写权限

执行下面的命令:

chmod -R o+rw/home/svn    
#
这里的路径是你项目库的根目录

现在可以正常地从Windows客户端下面进行检出和提交了。

提示: 当用非root账号操作时,要用sudo 命令

更改conf下的authz、passwd、svnserve.conf内容时可以借助xshell和xftp。

更改权限: sudo chmod-777  /home/svn/root/conf/authz

6、创建仓库自定义目录

首先在服务器端创建一个SVN库,这时是只有一个顶级文件夹的空仓库(比如:/home/svn/root),然后:

1、从客户端checkout这个空的SVN库;

2、在客户端checkout出来的这个空文件夹中,按自己的需要新建各级子文件夹,以形成所需的目录结构;

3、对checkout出来的这个文件夹执行add操作,将新建的各级子文件夹纳入SVN控制;

4、对checkout出来的这个文件夹执行commit操作,将刚add进来的各文件夹提交到SVN服务器端。

基本操作就如上所述了,顺便说一下SVN官方推荐的文件夹结构:

根目录下分成trunk、branches、tags三个子文件夹,其中trunk用于存放开发主干,branches用于存放各种分支,tags用于存放各种标记。

其他

1、点击右键TortoiseSVN  Repo-browser可以查看SVN浏览器 

2、在URL中输入svn://ip/dir  ,查看SVN仓库的目录结构。



  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值