linux安装使用svn

3 篇文章 0 订阅

环境 Centos6.x

 

cd /

yum install subversion

 

cd /website #创建svn目录

mkdir svn

 

svnadmin create /website/svn/projectA  //创建一个svn版本仓库(projectA可以为svn项目名字)

cd /website/svn/projectA/conf               //进入配置文件目录

修改配置svnserve.conf,authz,passwd这三个文件(修改后无需重启subversion)

vi svnserve.conf

//把下面项前面的#号和空格去掉并修改(各项前面不能有空格),变成

anon-access = none      #使非授权用户无法访问
auth-access = write     #使授权用户有写权限
password-db = passwd

realm = projectA     # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字,这里设置成和项目名称相同就可以了

保存退出

 

vi authz

在[groups]下添加

[groups]

projectA = u1,u2 //创建一个projectA的组,并制定两个用户u1和u2

[/]             //制定根目录下的权限

@projectA = rw     //projectA组用户权限为读写

* = r           //其他用户只有读权限

保存退出

 

vi passwd

在[users]下添加

[users]

u1 = p1    //用户名u1的密码为p1

u2 = 456    //用户名u1的密码为456

保存退出

 

设置自启动

vi /etc/rc.local

在touch /var/lock/subsys/local下面
添加下面一行
svnserve -d -r /website/svn

保存退出

 

svn启动

svnserve -d -r /website/svn

关闭svn服务

 

ps -ef|grep svnserve

看到类似   root 4967 1 0 Aug23 ? 00:00:00 svnserve -d -r repository/

 

其中4967为进程号

使用Kill命令杀死进程  kill -s 9 进程号,即  kill -s 9 4967

 

配置post-commit,实现自动同步svn版本库文件到web目录

 

cd /website/svn/projectA/hooks

cp post-commit.tmpl post-commit

 

赋予post-commit可执行的权限

chmod 777 post-commit

 

vi post-commit

修改内容如下:

REPOS="$1"
REV="$2"
export LANG=zh_CN.UTF-8

SVN_PATH=/usr/bin/svn
WEB_PATH=/website/www/projectA
LOG_PATH=/tmp/svn_update.log

$SVN_PATH update $WEB_PATH --username u1 --password p1 --non-interactive

 

说明:export LANG=zh_CN.UTF-8防止中文乱码,SVN_PATH为svn执行程序所在的目录,WEB_PATH为web项目目录,u1为svn用户名,p1为密码

 

服务器checkout到本地

默认checkout到当前目录的,所以执行前先切换到你要到的目录, cd /website

svn checkout svn://localhost/projectA

或者

svn checkout svn://120.77.176.18/projectA   #这里的120.77.176.18为你的服务器ip

也可使用简写  svn co svn://120.77.176.18/projectA

 

需要输入root密码回车,输入svn账号回车,输入svn密码回车

顺便给www目录和其子目录权限

cd /website/www

chmod -R 777 *

 

更新命令

切换到你的项目目录

cd /website/www/projectA

执行 svn update

 

svnadmin和svn的命令是不同的,具体可用svnadmin help和svn help查看

 

 

svn命令

命令说明

SVN规范与冲突解决

 

 

 

客户端连接

 

===================忽略文件,文件夹的提交=============

svn使用 svn propedit svn:ignore dir 命令忽略文件和文件夹,其中dir是你的svn项目的文件夹,

如 svn propedit svn:ignore /website/www/projectA

会车发现提示错误 ‘svn: E205007: 没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量,运行时的配置参数中也没有 “editor-cmd” 选项’

需要先设置SVN默认的编辑器

export SVN_EDITOR=vim

再次执行 svn propedit svn:ignore /website/www/projectA

进入到编辑状态,在里面编辑你要忽略的文件或文件夹即可(一行一项)

如:

test.php

cache

 

这时还需要提交,这个svn:ignore属性才正式生效

cd /website/www/projectA

 

svn ci -m '忽略test.php文件和cache文件夹'

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值