ubuntu svn服务器

svn 服务器创建一般分为几个迭代功能,可以循序渐进一步步达到我们需要的功能:

#1 基本svn功能svn import/ci/cout/add/up/delete和基本的读写权限管理
#2 svn 备份策略
#3 更高基本和更细致的权限管理划分,例如某某账户只能对某某文件夹进行操作
#4 svn 操作管理,例如提交代码必须填写提交日志,是否可以修改日志

       由于项目关系,当前先实现第一个迭代,后期把其余的按照需求在补上,特别是备份。
1.安装包
$ sudo apt-get install subversion 

2.创建项目目录
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir ymsrc

3.创建SVN文件仓库
$ sudo svnadmin create /home/svn/ymsrc
$配置svn 相关的配置文件,见下。

注意:svn服务器提供多种访问方式有file,svn,web http等,可以按照需求选择对应的方式。
4.验证访问方式及项目导入:
$ svn co file://localhost/home/svn/ymsrc

5. 增加远程访问,使用root权限运行svnserve,如果不是那么代码仓库文件访问权限要对应修改
sudo svnserve -d

6. 验证访问方式及项目导入
svn co svn://192.168.3.111/home/svn/ymsw

7. 导入文件到服务器
svn import src svn://192.168.3.111/home/svn/ymsw --no-ignore
其中--no-ignore选项表示所有的文件都上传到服务器,要不然由于svn过滤的原因导致某些后缀文件上传不上去,例如.o文件

8. 导出文件
svn co svn://192.168.3.111/home/svn/ymsw

svn配置文件:
    配置文件包括权限svnserve.conf 、passwd 、authz三个文件;还有操作控制配置文件hook目录。这里只关注认证方面的配置。
第一个文件是svnserver如果svn访问方式那这里需要配置,主要是采用什么认证文件,例如passwd。而passwd文件是svn账户文件,authz是认证控制文件。
本项目文件配置如下:

svnserve.conf :

### and "none".  The sample settings below are the defaults.
anon-access = none 
auth-access = write
### The password-db option controls the location of the password
...

### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
...

### Uncomment the line below to use the default authorization file.
authz-db = authz
### This option specifies the authentication realm of the repository.

passwd:

[users]
test = test
# sally = sallyssecret

authz:

### grant read ('r') access, read-write ('rw') access, or no access
### ('').
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

[/]
test = rw
# &joe = r
# * =


# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r


相关问题:

#1 svn log不显示日志

解决方法: svnserve.conf配置文件里面anon-access 一开始写的是read,不知道什么原因log不显示表现如下,只需要改为none就可以了。

r16 | (没有作者信息) | (没有时间信息) | 1 行 

#2 权限访问失败

解决方法:svnserve使用对应的账户运行,例如本项目使用root运行。

#3 虚拟机下载的svn代码,在windows tortoise 查看失败

解决方法:虚拟机的svn客户端和windows tortoise版本保持一致

#4 日志后期无法修改

解决方法:对于提交日志或则上传代码相关的操作控制在hook里面找到对应的文件修改即可。

#5 上传.o文件失败

解决方法: svn默认会过滤掉一些后缀文件,本项目svn import的时候.o文件就被过滤了,只需要加入--no-ignore即可

#6 svn: Can't connect to host '124.207.0.99': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。本地SVN是可以的。使用linux svn客户端上报错误: Can't connect to host: no route to host。

解决方法: centos里面会出现这个问题,是iptables的原因,把iptables stop掉是可以使用的或则加入规则/etc/sysconfig/iptables,加入一行:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值