SVN简介和工作原理
subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件。Subversion支持linux和windows,但较多安装在linux下。
svn服务器有两种运行方式:独立服务器和借助于apache。 svn://或http://
svn客户端tortoisesvn
svn的基本工作原理: 在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。有源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里德项目文件下载到本地,然后开发人员可以在本地修改,左后用svn命令进行提交,游源代码库统一管理修改。
版本控制解决了:
*代码管理混乱
*解决代码冲突困难
*在代码整合期间引发bug
*无法对代码的拥有者进行权限控制
*项目不同版本的发布困难
SVN工作原理示意图:
1. 开始yum安装是svn
Yum -y installsubversion
2. 开始配置SVN
a.简历版本库目录
cd /data
mkdir svn_program
svnserve -d -r svn_program
b.建立版本库
cd /data
mkdir -p svn_program/pro_one
cdsvn_program/pro_one
执行:svnadmin create pro_one
cd pro_one
subversion目录说明:
*dav目录:是提供apache与mod_dav_svn使用的目录,让他们存储内部数据(目前没有这个目录)
*db目录:就是所有版本控制的数据存放文件
*hooks目录:放置hook脚本文件的目录
*locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端
*format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
*conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
cd conf
下面要修改这个目录下的三个配置文件
svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径
anon-access = none //默认是只读read
auth-access = write //认证后有写入权限
password-db = passwd //帐号密码配置文件
authz-db = authz //权限配置文件
realm = first //改成自己的版本库 生效范围(貌似解释的不对)
注:一定要顶格!
authz //文件,创建svn组和组用户的权限
[groups]
song = qwer,asdf //创建一个song的组,并制定两个用户qwer和asdf
[/] //制定根目录下的权限
@song = rw //song组用户权限为读写
* = r //其他用户只有读权限
passwd //创建或修改用户密码
[users]
qwer = 123456 //用户名 = 密码
asdf = 123456 //。。。
2. 接下来建立建立同步脚本(假设我们的站点都放在一个/data /192.168.128.5的目录下),则接下来我们来配置同步脚本
cd pro_one/hooks
cppost-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
#vimpost-commit
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/data/192.168.128.5
$SVN update $WEB –username qwer–password 123456
chown -R nginx.nginx $WEB
按ESC再输入:wq保存退出
好了,我们再到192.168.128.5这个目录下进行客户端连接
#cd /data/192.168.128.5
#svn co svn://192.168.128.5/pro_one
这样你会发现在/data /192.168.128.5目录下有一个pro_one目录了,你可以在你的window系统电脑上检出这个项目
http://www.allzh.com/about
http://www.ha97.com/4467.html
http://www.phpddt.com/server/svn-install.html
http://www.cnblogs.com/mitang/p/4309762.html