SVN 安装
yum install subversion -y
验证版本
svn --version
新建版本库
## 创建SVN 版本库根目录
mkdir –p /opt/svn/repository
## 进入目录,创建实际的版本库
cd /opt/svn/
svnadmin create repository
启动
svnserve -d -r /opt/svn
#-r 添加 repository的根目录
#-d 让SVN以deamon的形式运行
SVN 备份与还原
SVN备份有三种方式,我这里只推荐前2种
svnadmin dump
官方推荐的备份方式。可以结合bzip2 备份的同时压缩
#优点:可全量也可增量备份,方式比较灵活。并提供对应的恢复机制
#缺点:当版本库很大的时候,这种备份方式超级耗时,恢复也很耗时,不利于紧急的灾难恢复
#备份
svnadmin dump /opt/svn/repository |bzip2 > /tmp/svnbackup-`date +"%Y%m%d"`.bz2
#还原
bunzip2 svnbackup-`date +"%Y%m%d"`.bz2
svnadmin load /opt/svn/repository < /tmp/svnbackup-`date +"%Y%m%d"`
svnadmin hotcopy
#优点:备份和恢复的过程相对较快
#缺点:只能全量copy,此外比较耗费硬盘
#备份
svnadmin hotcopy /opt/svn/repository /tmp/svnbackup-`date +"%Y%m%d"`
#还原
svnadmin hotcopy /tmp/svnbackup-`date +"%Y%m%d"` /opt/svn/repository
post-commit 同步
为了方便开发,post-commit来同步svn仓库与php根目录文件
#cd到svn项目路径下的hooks下
cd /data/svn/test/hooks/
cp post-commit.tmpl post-commit
chmod 777 post-commit
vim post-commit
在下面添加
cd /data/php(代码目录) && /usr/bin/svn update --username 账号--password 密码
#注释下面行
#mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
在本地用totorizeSVN提交一下文件,看看是不是实时的与php的文件同步了呢,