svn在linux中配置

本文详细介绍如何在服务器端安装Subversion (SVN),包括版本库的创建、权限配置及同步代码的过程。此外还提供了常见问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:服务器端安装svn

命令: yum install subversion

确认下载输入 y

安装完成

命令 svnserve --version 查看svn版本

二: 创建版本库

1. 创建版本库的目录 mkdir -p /usr/local/svn/demo

此时版本目录下是空的,然后再创建版本库

2.为版本目录创建svn版本库 svnadmin create /usr/local/svn/demo 

创建完成之后目录下会生成一些文件

三: 配置svn权限

在conf文件夹下主要有三个文件需要配置

1. 配置authz文件

打开authz在红色框内分别加入配置信息

第一个红色框 aliases下添加svn用户账号密码 user1=123456( 每个用户账号信息占一行)

第二个红色框 groups下添加群组用户 group1=user1 (多个用户之间,分隔)

第三个红色框添加版本目录 [/]

第四个红色框添加群组的读写权限 @group1=rw

2.配置passwd文件

将user1用户加入配置 user1=123456

3. 配置 svnserve.conf

anon-access是配置匿名用户不可读,将#都去掉

至此配置完成 启动版本库 svnserve -d -r /usr/local/svn/demo/

若报 svnserve: E000098: 不能不能绑定服务器套接字:地址已存在则 查出svnserve的进程然后杀掉: ps -aux | grep svnserve

结果的第二列是进程号  然后kill -9 进程号,重试就可以了

之后就可以使用user1当做用户名123456作密码同步代码到服务器

 

以下是注意点

 配置好之后记得将3690端口开放

此时更新之后代码并不会直接在服务器显示,而是在db文件中,如果需要每次同步都相应的在服务器上生成文件需要配置hooks文件夹中的post-commit文件

将 post-commit.tmpl 模板文件复制并更名为 post-commit

在文件中添加

export LANG="zh_CN.UTF-8" 指定文件编码

svn checkout svn://localhost /usr/local/svnDemo 将服务器的svn版本同步更新到 /usr/local/svnDemo目录下

若出现 svn: E170001: 认证失败 则需要将 ~/.subversion/auth/svn.simple 文件夹下新生产的文件删除,然后重复上一步

(文件最后一行 mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf 暂不知作用,直接注释或者删除即可,否则报错

因为 post-commit 没有权限 给文件加权限 chmod 777 /usr/local/svn/demo/hooks/post-commit

需先在 /usr/local/svnDemo目录下 将项目检出 svn checkout svn://localhost

输入服务器的登录密码(不是指svn的密码)

输入svn用户名 user1

输入svn用户密码 123456

是否存储未加密的密码 填 y 就行

这时候文件同步到目标目录下了 但是中午的文件名都是乱码,需要再配置

svn更新之后显示编号错误解决方法

首先查看当前系统的编码 使用命令 locale 

然后导入 zh_CN.UTF-8 编码 使用 export LC_ALL=zh_CN.UTF-8

执行 svn up

再次使用 locale查看编码

编码设置完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值