1.安装svn
- yum install -y subversion
2.验证安装是否成功
- svnserve --version
3.创建svn版本库
- mkdir svn
- svnadmin create svn/repo
注:repo是版本库名称
4.配置svn
创建版本库后,在这个版本库的conf目录下会生成3个配置文件:
- [root@singledb conf]# pwd
- /root/svn/repo/conf
- [root@singledb conf]# ls
- authz passwd svnserve.conf
说明:
(1)svnserve.conf: svn服务综合配置文件。
(2)passwd: 用户名口令文件。
(3)authz: 权限配置文件。
4.1 修改passwd文件
- [users]
- shang=123456
- li=123456
注:shang为用户名,123456为密码
4.2配置可使用明文密码
- vi /$HOME/.subversion/servers
- #找到以下内容,注释去掉并改成yes就行了
- store-plaintext-passwords = yes
4.3修改authz文件
注:repo为之前建立的svn版本库名称
- [groups]
- team=shang,li
- [repo:/]
- @team=rw
4.4修改svnserve.conf
- [general]
- anon-access = none
- auth-access = write
- password-db = passwd
- authz-db = authz
5.启动和停止svn
5.1启动svn
- svnserve -d -r /root/svn/
5.2关闭svn 关闭所有的svn仓库 killall svnserve
- ps -aux |grep svn
- kill -9 进程id
6.导入工程
- $ mkdir MyProject
- $ mkdir MyProject/trunk
- $ mkdir MyProject/branches
- $ mkdir MyProject/tags
- svn import MyProject svn://192.168.5.228/repo/MyProject -m "first import project"
7.导出工程
- svn co svn://192.168.5.228/repo/MyProject
1.安装svn
- yum install -y subversion
2.验证安装是否成功
- svnserve --version
3.创建svn版本库
- mkdir svn
- svnadmin create svn/repo
注:repo是版本库名称
4.配置svn
创建版本库后,在这个版本库的conf目录下会生成3个配置文件:
- [root@singledb conf]# pwd
- /root/svn/repo/conf
- [root@singledb conf]# ls
- authz passwd svnserve.conf
说明:
(1)svnserve.conf: svn服务综合配置文件。
(2)passwd: 用户名口令文件。
(3)authz: 权限配置文件。
4.1 修改passwd文件
- [users]
- shang=123456
- li=123456
注:shang为用户名,123456为密码
4.2配置可使用明文密码
- vi /$HOME/.subversion/servers
- #找到以下内容,注释去掉并改成yes就行了
- store-plaintext-passwords = yes
4.3修改authz文件
注:repo为之前建立的svn版本库名称
- [groups]
- team=shang,li
- [repo:/]
- @team=rw
4.4修改svnserve.conf
- [general]
- anon-access = none
- auth-access = write
- password-db = passwd
- authz-db = authz
5.启动和停止svn
5.1启动svn
- svnserve -d -r /root/svn/
5.2关闭svn
- ps -aux |grep svn
- kill -9 进程id
6.导入工程
- $ mkdir MyProject
- $ mkdir MyProject/trunk
- $ mkdir MyProject/branches
- $ mkdir MyProject/tags
- svn import MyProject svn://192.168.5.228/repo/MyProject -m "first import project"
7.导出工程
- svn co svn://192.168.5.228/repo/MyProject
svn有两种存储方式:BDB和FSFS,目前用的最多的是FSFS方式,这种方式的话,一般是存储在\db\revs文件夹下,里面有一堆以版本号命名的文件,如:0、1、2、3、4......,那个就是了。
svn先把0版本的状态压缩成1个文件,然后每次版本更新时就针对变动的
部分做一个压缩文件,每次都是增加一个增量包,最后在服务器上能看到文件名为从0开始到最终版本的一系列文件
1.安装svn
- yum install -y subversion
2.验证安装是否成功
- svnserve --version
3.创建svn版本库
- mkdir svn
- svnadmin create svn/repo
注:repo是版本库名称
4.配置svn
创建版本库后,在这个版本库的conf目录下会生成3个配置文件:
- [root@singledb conf]# pwd
- /root/svn/repo/conf
- [root@singledb conf]# ls
- authz passwd svnserve.conf
说明:
(1)svnserve.conf: svn服务综合配置文件。
(2)passwd: 用户名口令文件。
(3)authz: 权限配置文件。
4.1 修改passwd文件
- [users]
- shang=123456
- li=123456
注:shang为用户名,123456为密码
4.2配置可使用明文密码
- vi /$HOME/.subversion/servers
- #找到以下内容,注释去掉并改成yes就行了
- store-plaintext-passwords = yes
4.3修改authz文件
注:repo为之前建立的svn版本库名称
- [groups]
- team=shang,li
- [repo:/]
- @team=rw
4.4修改svnserve.conf
- [general]
- anon-access = none
- auth-access = write
- password-db = passwd
- authz-db = authz
5.启动和停止svn
5.1启动svn
- svnserve -d -r /root/svn/
5.2关闭svn
- ps -aux |grep svn
- kill -9 进程id
6.导入工程
- $ mkdir MyProject
- $ mkdir MyProject/trunk
- $ mkdir MyProject/branches
- $ mkdir MyProject/tags
- svn import MyProject svn://192.168.5.228/repo/MyProject -m "first import project"
7.导出工程
- svn co svn://192.168.5.228/repo/MyProject
实现SVN与WEB同步解决方案
1)设置WEB服务器根目录为/www/default
2)checkout一份SVN
svn co svn://localhost/oplinux /www/default
修改权限为WEB用户
chown -R www:www/www/svndata/oplinux
3)建立同步脚本
cd /www/svndata/oplinux/hooks/
方案一:
vi post-commit 输入以下内容:
#!/bin/sh
REPOS="$1"
REV="$2"
export LANG=en_US.UTF-8
svn update /www/web/default --username test--password test
方案二:
cp post-commit.tmpl post-commit
编辑post-commit,在文件最后添加以下内容
export LANG=en_US.UTF-8
SVN=/usr/bin/svn
WEB=/www/web/
$SVN update $WEB –username test–password test
chown -R www:www $WEB
增加脚本执行权限
chmod +x post-commit
如果不成功 尝试一下方法,在命令后面加上 --no-auth-cache
$SVN update $WEB –username test–password test --no-auth-cache
对文件执行chmod +x post-commit操作
最后操作是关闭服务然再打开服务:
svn服务的关闭:killall svnserve
svn开启: svnserve -d -r /opt/svndata/oplinux/