linux下安装svn
1、yum安装subversion
yum install subversion
2、安装完成之后查看svn版本
svnserve --version
3、创建版本库
svnadmin create /usr/svn
版本库创建成功之后 会出现以下目录
进入conf目录修改一些必要的配置
编辑 passwd 文件
vi passwd
新增用户密码
user=pass
编辑 authz文件
vi authz
新增一行
[/] user=rw //分配user用户读写权限 *= //这个配置很重要 以上没有定义的用户都没有任何权限
编辑 svnserve.conf
anon-access=none #匿名没有读写权限 auth-access=write #验证用户可读写 password-db=passwd #指向验证用户名密码的数据文件 passwd auth-db=authz #指向验证用户的权限配置文件 authz
注意:每一行前方不能有空格,否则会出现 Option expected错误!
4、启动svnseve
svnserve -d -r /usr/svn
查看svn进程信息
ps -ef | grep svn
kill -9 pid #杀掉进程
5、新增post-commit (非常重要!!!在实际开发中我们的web项目目录可能并没有在svn版本库目录下,配置post-commit可实现svn更新自动同步到web目录)
进入 /usr/svn/hooks下,执行 touch post-commit 命令创建文件
vi post-commit
#!/bin/bash REPOS="$1" REV="$2" export LANG=en_US.UTF-8 //这里设置字符格式 SVN_PATH=/usr/bin/svn //这里是SVN安装的目录,一般都是这个,如果没改过,查看svn安装目录命令:whereis svn WEB_PATH=/home/www //这个是项目运行目录,也就是你的网站的目录 $SVN_PATH update $WEB_PATH --username user --password pass //用户密码和 conf/passwd 配置的用户名密码一致
给post-commit 执行权限:
chmod 777 post-commit
再到 /home/www 目录下执行命令
svn co svn://localhost:3690 --username 用户名 --password 密码
在客户端checkout svn://ip:3690
在 /home/www 上就可以看到客户端提交和修改的文件了