相比现在流行的git来说,svn是不是已经老去了。因为公司的开发在用着svn,因此就有了这篇博客。
一:安装svn
1 下载svn
wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gzwget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz
2 安装svn
#下面二个压缩文件解压后会放到同一个文件下,不要另建文件夹tar zxvf subversion-1.6.1.tar.gztar zxvf subversion-deps-1.6.1.tar.gzcd subversion-1.6.1./configure --prefix=/usr/local/svn
3 将svn的bin加入到环境变量中去
vim /etc/profilePATH=$PATH:/usr/local/svn/bin
二:配置svn
1 配置svn
(1) 建个svn的根目录,因为项目不只一个mkdir -p /data/svndata(2) 建个仓库/usr/local/svn/bin/svnadmin create /data/svndata/yourprojcect(3) 修改svnserve.confcd /data/svndata/yourprojcect/conf/a 修改svnserve.conf如下:[general]anon-access = noneauth-access = writepassword-db = passwdrealm = yourprojcect[sasl]b 修改authz如下:[aliases][groups]yourprojcect = budong[/]@yourprojcect = rw* = rc 修改passwd如下:[users]budong = budongpassword
2 客户端的访问,测试svn
svn checkout svn://192.168.1.49/yourprojcectcd yourprojcecttouch a.phpsvn add a.phpsvn commit -m "ok"提示输入密码就输入密码,看代码能不能正常提交。
3 svn钩子(仓库的代码直接同步到网站根目录)
效果:每次提交代码时,文件自动同步到/data/html(1)建立web程序目录 mkdir /data/htmla 进入/data/html/目录cd /data/html/b 检出一份版本库文件到当前目录svn checkout svn://192.168.1.49/yourprojcect ./(2)在项目库的 hooks/ 目录下新建 post-commit 文件,添加脚本内容如下:#!/bin/shSVN=/usr/bin/svnWEB=/data/htmlexport LANG=en_US.UTF-8$SVN update $WEB --username budong --password budongpassword
4 设置开机启动svn
vim /etc/rc.local/usr/local/svn/bin/svnserve -d -r /data/svndata
三:小技巧
1 windows平台数据迁移到linux
a 先导出svn库导出到d:\svnbak\svnbak.dump在cmd命令行里输入svnadmin dump d:/svndata > d:\svnbak\svnbak.dump此时你会看到窗口里显示从第一个版本开始备份,一直到最后一个版本b 把svnbak.dump想办法传到linux服务器,这是采用svn的方式c 我在linux的svn代码库为:/data/svndata/yourprojcectsvnadmin load /data/svndata/yourprojcect < /root/svnbak.dump
四:是时候结束了
自言自语:
感冒了是不是要博得点同情,做IT的身体真是个硬伤,今天来回爬了几层楼,感觉身体都虚了,以后要加强锻炼了。各种不想动,先挖个坑,明天继续填。
参考资料:
svn 官网: http://subversion.apache.org/
svn iusesvn:http://www.iusesvn.com/
svn 中文社区:http://www.subversion.org.cn/
svn 中文文档:http://www.subversion.org.cn/svnbook/1.4/svnbook.html
原文地址:CentOS 5.9下安装配置svn, 感谢原作者分享。 懂得接受失败的人,就是懂得人生真谛的人,